Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Стоит ли связываться с OOП в PHP?
 
 автор: tAleks   (26.02.2007 в 14:51)   письмо автору
 
 

Оттягиваю этот момент на сколько можно дальше... но опять дошел до того, что нужно барсться за ООП.

Прочитал много статей про плюсы и мнусы ООП, и про то что когда начинающие программисты узнают о возможностях ООП, начинаю его применять везде, где надо и гед не надо, и в итоге получается "овощной суп", в котором трудно ориентироваться.....

Вот и я думаю, как бы не наворотить себе же проблем....

Долго читал про ООП, вот недавно написал первый класс, отправляющий почту в различных форматах, и с различными прицепками. Когда разобрался как он работает - так-то вроде удоная штука получилась. Тут сразу мысли в голову, где бы еще чего так же упростить, написать какой-нибудь такой же удобный класс. Но ранее прочитанные статьи "против ООП" - останавливают.

Вопрос:
У меня на сайте, пока что 4 типа пользователей. Данные пользователей берутся из базы данных из нескольких таблиц. Стоит ли применить ООП для управления пользователями?

   
 
 автор: isset   (26.02.2007 в 15:07)   письмо автору
 
   для: tAleks   (26.02.2007 в 14:51)
 

Начни. Не задумывайся стоит или нет, понимание всего не придет если ничего не делать и читать ответы в форуме да всякие статьи "против ООП"

   
 
 автор: tAleks   (26.02.2007 в 15:19)   письмо автору
 
   для: isset   (26.02.2007 в 15:07)
 

Из всего ранее прочитанного, я понял (а моежт и не правильно понял), что есть грань, до которой не стоит применять ООП, чтобы не наделать себе пролем, и после которой будет проще с ООП.

Так вот, в моем случае с пользователями, эта грань достигнута? Стоит ООП внедрять?

   
 
 автор: Фитч   (26.02.2007 в 15:50)   письмо автору
 
   для: tAleks   (26.02.2007 в 15:19)
 

> Так вот, в моем случае с пользователями, эта грань достигнута? Стоит ООП внедрять?
Это зависит от того, насколько интенсивно используются данные пользователей
Если "данные" - это только логин-пароль-статус и все, то нет.
А вообще ООП знать надо - в том же PEAR оно активно используется.

ЗЫ:
Вот тема в поддержку ООП http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=32921&page=6

   
 
 автор: tAleks   (26.02.2007 в 16:51)   письмо автору
 
   для: tAleks   (26.02.2007 в 14:51)
 

Еще один случай.

У меня на сайте много страниц, где данные берится из БД и выводятся в виде таблички.

На таких страницах нужно реализовать возможность сортировки данных, по полю + постраничную навигацию.

Хочу написать класс, который бы делал заголовки таблицы (ссылки) по которым разрешено сортировать данные. И чтобы он генерил строку постраничной навигации.

И этим классом в дальнейшем пользоваться на всех страницах.

Стоит ли делать это ООП? Вроде ирархии тут нет, но мне кажется (в меру моей не достаточной образованности в области ООП) что класс будет удобен. Примерно как класс для отправки мыла с сайта.

Стоит или нет? Или через 8 дней я пойму, что за 8 дней я сделал себе кучу проблем этим классом? ;)

   
 
 автор: isset   (26.02.2007 в 19:03)   письмо автору
 
   для: tAleks   (26.02.2007 в 16:51)
 

ты что хочешь, что то просто переделать или узнать ООП поближе?

   
 
 автор: ZuArt   (27.02.2007 в 09:34)   письмо автору
 
   для: tAleks   (26.02.2007 в 16:51)
 

Ну начнем с простого...
"Вроде ирархии тут нет" - как так нет???

класс подключения и выполнения запросов к БД
 класс для получения данных с сортировкой (класс строит сам запросы)
  класс для с функциями внесения изменений в таблицы
   класс для работы с конкретной БД1
   класс для работы с конкретной БД2
   ...


т.е. по сути - ОДИН раз написан класс, который включает в себя необходимый набот методов с обработкой ошибок и т.п. от которого в перспективе для каждой конкретной БД наследуется потомок с доп методами и функционалом специфическим для этой БД.

далее... вот представь себе, что есть некоторый базовый класс, который несет в себе некоторый набор методов - от него наследуются многие другие классы и тут нужно чуууууууть-чуть изменить логику работы данного метода для ОПРЕДЕЛЕННОГО класса - действия минимальны, просто переопределяется метод в нужном классе, однако другие классы не пострадают + не придется придумывать какие-то наименования глобальных функций...

в конце-концов, в базовом классе метод может выполнять какие-то подготовительные действия а дочерний класс к УКАЗАННЫМ выше действиям выполняет свои... без наследования придется или организовывать доп. функцию подготовки или писать весь функционал для каждого случая свой... с классами можно в любой момент обратиться к РОДИТЕЛЬСКОМУ методу конструкцией parent::Метод(параметры).

Может я и не вижу больших минусов, но у меня выстроена довольно неплохая (на мой взгляд) иерархия классов, которая насчитывает около полусотни классов, и около 20-25 классов от которых я наследую новые классы, используемые на разных сайтах.

в качестве примера работы сайта на классах могу привести ссылку на текущую работу (мой только раздел, сам сайт построен не мной, а внедрить класс в существующий код было делом одной минуты - раздел в процессе разработки) http://www.steelhearts.ru/fclib/underground/ - там используется порядка 15 классов, из которых с 10 классов УЖЕ ранее написаны и не требуется их переделывать совсем - я ДОПИСЫВАЮ функционал к наследникам, а не переписываю родителей.

   
 
 автор: t4f   (27.02.2007 в 09:55)   письмо автору
 
   для: ZuArt   (27.02.2007 в 09:34)
 

Я связался и не жалею. Это помогло мне освоить и другие языки и технологии, которые построены на применении ООП.

   
 
 автор: tAleks   (27.02.2007 в 14:48)   письмо автору
 
   для: ZuArt   (27.02.2007 в 09:34)
 

Можно это по подробнее объяснить:

класс подключения и выполнения запросов к БД 
 класс для получения данных с сортировкой (класс строит сам запросы) 
  класс для с функциями внесения изменений в таблицы 
   класс для работы с конкретной БД1 
   класс для работы с конкретной БД2 
   ... 


Не знаю с чего начать.
В частности интересует проектирование сайта (классов), перед началом написания.

Как я понял, из вышеуказанного. В итоге, классы наследуются, наследуются и получается один класс. Потом создаем один объект, который содержит в себе все свойства и методы вышеуказанных родителей, и только с ним работаем в скрипте. Так? Или я че-то не догоняю?

   
 
 автор: ZuArt   (27.02.2007 в 15:15)   письмо автору
 
   для: tAleks   (27.02.2007 в 14:48)
 

наоборот...
из одного класса наследуются другие - преродитель всей иерархии так и называется - корень...
а все остальные классы - ветки..

а для начала изучения ООП на пхп лучше обратитесь к документации по ООП в принципе - с этого надо начинать, а не с "покажите, я хочу кодить"... без обид, но начинать надо с теории, которую тут объяснять слишком неудобно - есть много ресурсов и книг по этой теме =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования