Forum Webscript.Ru
Программирование => PHP => Тема начата: RelaX от 23 Октября 2003, 21:15:03
-
разобрался как работать с ООП, но одного понять не могу, где это можно применять. Мне показалось, что работать с отдельными функциями удобнее, чем с ООП или я не прав?
-
RelaX
почитай что-нибудь фундаментальное по ООП
"Объектно-ориентированный анализ и проектирование" Гради Буча например
или "Шаблоны Проектирования" (там четыре автора, не помню имена)
ООП в PHP реализовано не полноценно
и для большинства веб-проектов попросту не нужно - масштаб не тот
так же, как столбы для забора не ставят с помощью шагающего экскаватора.
-
RelaX
это очередной религиозный вопрос. Есть множество хороших программистов пишущих в процедурно-функциональном стиле и не имеющих проблем.
Объяснить в чем удобство ООП - сложно. Это надо самому осознать. Я сам долго не мог понять почему все помешаны на классах. Сначало (в силу своей природной лени) стал использовать pear-классы и потом сам не заметил как потянуло писать многие вещи с использованием ООП.
Вообщем, делай, как тебе удобно.
Примеры использования ООП:
http://pear.php.net
http://php.weblogs.com/adodb
PS
"Паттерны проэктирования" (Гамма, Хелм и двое еще) нужно читать уже после того как получил определенный опыт ООП-проэктирования. На http://php4you.kiev.ua был перевод статьи про паттерны на PHP.
И еще примеры паттернов на ПХП можно глянуть на http://phppatterns.com
PPS
в php5 ООП будет вполне полноценным. Можете php5 beta скачать проверить. Вроде Д. Котеров уже собирается книгу по ПХП5 писать (если ничего не путаю)
-
Гм, по поводу применения ...
лично я применяю ооп, когда делаю свои библиотеки. Т.е. да, создавать отдельный проект можно и с функциями.
Но ... если он уже 10 по счету, есть смысл часть вынести отдельно в классы, и их в дальнейшем использовать.
Пир - это хороший кстати пример.
-
Макс
кстати о:
я посмотрел на Pear::HTML::TreeMenu или как оно там называлось
это кошмар какой-то.
100 килобайт кода с ООП-интерфейсом и туча файлов, которая генерирует это меню раз в несколько дольше, чем одна-единственная функция из полутора десятков строчек кода. Я с трудом понимаю, для чего может понадобиться такой монстр.
-
Xander
pear-овские классы делают как можно более универсальными. Если тебя напрягает 100 кб кода - вырежь ненужное. Кстати обычно в этих классах 30-40% объема - это комментарии.