![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| _BloodmaN_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 12.11.2006 Репутация: нет Всего: нет |
Только начинаю вникать в ООП... Пытаюсь его понять... Насколько правильным будет такой подход использования? или как стоило писать этот "модуль" с точки зрения ООП? Пытался разобрать на примере готовых скриптов, но так и не понял...
Или может кто посоветует скрипты простого сайта без всяких наворотов с использованием ооп? Чувствую, вопрос очень глупый, но я действительно запутался, а гугл не спасает, ибо я не знаю как сформулирвоать вопрос... Буду очень признателен. Это сообщение отредактировал(а) _BloodmaN_ - 28.6.2007, 18:19 |
|||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
В приведённом тобой примере получается библиотека функций.
|
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
||||
|
||||
| _BloodmaN_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 12.11.2006 Репутация: нет Всего: нет |
BuShaRt,
эмм.. ну я хотел на прямом примере разобрать использование ооп -_- Вот не могу понять, как строить сайт с ООП... Вот, использую только отдельные библиотеки функций... |
|||
|
||||
| WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
||||
|
||||
| _BloodmaN_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 12.11.2006 Репутация: нет Всего: нет |
WolfON,
Я по такую по php4 читал, но все равно как-то не доходчиво... может язык сыграл свою роль... А в электронном варианте на русском не имеется такой книги? Это сообщение отредактировал(а) _BloodmaN_ - 28.6.2007, 20:01 |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
_BloodmaN_,
Вообще, по мне так не логично, стоить весь сайт на ООП.. Я использую ООП, для отдельных, автономных модулей, таких как классы для работы с MySQL, фильтры ввода, конвертаторы и т.п., в 80% случаев беру готовые т.к. простые задачи нет смысла переносить на ООП, а сложные решать самостоятельно времени своего жаль. Остальные манипуляции я вообще не вижу смысла переносить на ООП, допустим модули новостей, форумов и т.п. надо писать процедурно... Не стоит суетиться, услышав слова "за ООП будушие" и пытать понять, чем он так хорошо. Я так и не понял, когда пытался понять. Понимание пришло, когда впервые использовал чужой класс, в процессе работы/обучения программировнию... Так вот, если нет понимания - оставьте эту идею, вернетесь, когда будет необходимость на определенном примере рассматривать.. Но, с другой стороны, это лишь моя, конкретная ситуация, которая в вашем случае может и не подойти, но в любом случае стоить движок только на ООП не логично... |
|||
|
||||
| _BloodmaN_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 12.11.2006 Репутация: нет Всего: нет |
BuShaRt,
хм, спасибо за разъяснение... учту... |
|||
|
||||
| WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 1 Всего: 8 |
1. Я бы посоветовал для начала почиталь столпов (Страуструпа, Буча), чтобы понять что такое ООП и для чего оно нужно.
2. Потом почитать о шаблонах проектирования - поможет понять как можно эффективно решать многие "типовые" задачи с помощью объектного подхода, хотя если правильно въехать в п.1, то при изучении шаблонов проектирования вы увидите, что многие из них уже давно используете, но не знали, что оно так называется. А ваш пример, я бы переписал так:
Это сообщение отредактировал(а) WIPS - 28.6.2007, 23:07 --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
| Muchenik |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 27.10.2005 Репутация: 5 Всего: 5 |
Что то я не могу понять, в чем заключается нелогичность строить весь сайт на ООП.
Мне кажется что эти функции должны быть публичными. Это сообщение отредактировал(а) Muchenik - 28.6.2007, 23:31 |
||||
|
|||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Согласен с вами. Я придерживаюсь стиля .NET (нужна функция? создайте статический метод!), т.е. когда ничего не существует вне объектов. И дело тут не в приверженности к ООП, а в четком разграничении доступа и отказ от всевозможных глобальных переменных. Поверьте мне, даже, казалось бы ничего не значащее, ключевое слово private может избавить от очень многих проблем. Нет, доступ к ним (в примере WIPS) осуществляется через handleCategory(). А вот сделать их protected было бы очень правильно. Наследование не менее важно в ООП, чем видимость методов. Это сообщение отредактировал(а) sTa1kEr - 28.6.2007, 23:47 |
|||
|
||||
| WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 1 Всего: 8 |
Согласен, protected тут больше подходит. Просто в данном случае privat-ом в основном хотел показать, что эти функции не должны входить в интерфейс класса. --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
| Muchenik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 27.10.2005 Репутация: 5 Всего: 5 |
Признаю свою ошибку, я чего то не обратил внимание на метод handleCategory($categoryType) Это сообщение отредактировал(а) Muchenik - 29.6.2007, 15:43 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |