![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
По-моему, на форуме достаточно дискуссий по целесообразности использования ООП. Во всяком случае, даже я в теме ничего нового не нашел
-------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Совет автору: просто не заморачивайся и пиши на пхп.
Потом в определенный момент поймешь, что тупо портишь свое время, хотя мог бы работать эффективнее. Я примерно так и дошел. Смотря на старый код понимаю, что то, что делал 2 недели, сейчас могу сделать за день. И не представляю код без ООП. А начиналось все с J2ME: надо было разработать свои контроллы. |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
||||
|
||||
| fesor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 16.7.2009 Где: Минск Репутация: 4 Всего: 4 |
И как же ты "договоришься" изменять массив через функцию? Намного проще использовать объекты в таких ситуациях, и ненадо извращения придумывать.
|
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
а что, ты никогда не придерживаешься никаких соглашений?
ну я раньше и говорил, что не понятно зачем эмулировать классы/объекты в языке, в котором они присутствуют. Это можно рассматривать как вариант для языков без классов/объектов кроме того, еще с использованием ООП ты разбиваешь свою задачу на небольшие подзадачи и можешь заниматься каждой из них, не думая об остальных деталях системы. Т.е. проще решить несколько небольших задач, чем одну большую. Хотя изначальный вопрос был скорее про необходимость в ООП-синтаксисе |
|||
|
||||
| fesor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 16.7.2009 Где: Минск Репутация: 4 Всего: 4 |
необходимости в ООП синтаксисе как таковой не вижу. просто может красивее так. Хотя опять же на вкус и цвет...
по поводу разбития на подзадачи - это наверное самое главное) как говрил наш Физик - "Самое сложное в решении задачи это грамотно разбить ее на части. А потом решение этих частей по отдельности даст нам искомый ответ" |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Этого можно добится используя обыкновенные функции. Пока что две причины использования ООП в php, которые я понял: 1. Пример с Машкой: невозможномсть изменения свойств в обход методов. Тем самым достигается дополнительная защита от ошибок. 2. Наследование. Хорошая возможность ООП. Но все равно, мне трудно представить себе задачу, требующую реализации этого средства. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
|
|||
|
||||
| youri |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
но вообще-то это не заслуга ООП
думаю немного читабельнее вопрос в том, как это сделать используя простые функции. Если у тебя в резальтате будет куча функций и куча глобальных переменных, то ты нифига не разбил задачу на подзадачи, глобальные переменные связывают все эти функции в одну кучу, да и на функции можно по-разному разбить. Если же глобальных переменных минимум и функции разбиты на части (считай классы), за котороыми закреплены определенные четкие обязанности, то это пожалуй хороший вариант. Думаю так. Но как я сказал, это не то чтобы заслуга ООП. ООП же скорее дает свои принципы: инкапсуляция, абстракция, полиморфизм. Твои же причины: они скорее более низкоуровневые (конкретные)
не во всех языках это возможно, не во всех языках есть модификаторы доступа
фреймворки для того и создаются, чтобы быстрее решать определенного рода задачи. Но заслуга ли это ООП или чего другого? Ты можешь объяснить, как ООП помогает создать хороший фреймворк? Это сообщение отредактировал(а) youri - 3.8.2009, 13:41 |
||||||||
|
|||||||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Впринципе я вижу такое решение, но в функциональном стиле(т.е. тоже не процедурный подход). И нафиг это не надо, когда есть ООП. |
|||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
nerezus
щас будут тыкать в исходники друпала... -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
у меня с фреймворками немного опыта, потому и спрашиваю. Паттерны ты, кстати, тоже к ООП относишь? Хотелось бы просто конкретных более-менее реальных примеров применения либо принципов ООП, либо паттернов. Или под ООП ты подразумеваешь синтаксис (классы, объекты)? Добавлено @ 14:01 lukas, я ж не холивар тут устроить хочу. Меня интересует информация от человека, у которого есть опыт использования фреймворков Это сообщение отредактировал(а) youri - 3.8.2009, 14:01 |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Ну например в гостевой книге есть такие функции для работы с БД: - подключение - добавление сообщения - редактирование сообщения - удаления сообщения - узнать количество страниц в гостевой книге - отображения определенной страницы ГК - добавление ИП в бан-лист - удаление ИП из бан-листа - проверка на присутствие ИП в бан листе И зачем здесь использовать классы? Ведь задача и так уже разбита на множество простых ? |
|||
|
||||
| nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
|
||||
|
|||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
не так уж и естественно, но это уже скорее не особо важные нюансы терминологии. Но как насчет конкретных примеров. Покажи человеку, например, как в его задаче поможет применение ООП или паттернов? Потому что это как минимум первый этап, понять что другие люди придумали умную штуку. Второй этап - объяснить кому-нибудь эту штуку |
|||
|
||||
![]()
|
| Правила форума "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. |