LINUX.ORG.RU
решено ФорумTalks

[php ненужно] Риторический вопрос


0

1

Никак не могу взять в толк. Почему php-шники так аццки вцепились в OO и этот грёбаный MVC? Подправлял тут один проектик... чтоб два блока передвинуть пришлось поковырять 5-6 объектов размазанных по всему дереву каталогов, при этом явно виден оверхед во все поля. И никак не могу понять, зачем это всё? Спрашивать у авторов сего поделия уже пробовал кроме х-ни типа «Популярная модель», «Полноценный ОО» и тому подобного не добился. Может ЛОР подскажет, что я упускаю из виду?

PS: Про скорость разработки интересно было бы узнать как это «быстро делается»? Поскольку проект «разрабы» чуть не зафейлили по срокам.


Ответ на: комментарий от iBliss

>За исходники которых можно засесть в начале недели, и к концу, иметь представление о внутренней структуре.

Ну, я пару раз знакомым основы структуры своего фреймворка за пол-часа общения по аське передавал. Ещё через час они что-то уже простенькое делали. Правда, совсем простенькое, без ORM'ов и связей, ну так и без документации зато :D

KRoN73 ★★★★★
()
Ответ на: комментарий от ArtemZ

>(при этом обнаружил, что уже сам для себя написал MVC, соврешенно о не зная о такой технологии, т.е сделал велосипед)

Аналогично :) Подобным разделением я пользовался уже лет 6 назад, при чём имитируя объекты на обычном процедурном стиле :)

Сперва я понял, что я тупо написал свой объектный механизм и для своей [тогда ещё] микроядерной системы написал модуль, работающий уже на настоящих объектах. Оказалось настолько удобнее и компактнее, что начал понемногу переносить в эту часть системы старый код. Потом оказалось, что у меня только объектный модуль и остался, так что он был перетащен прямо в ядро системы, а [почти] всё старое, процедурное было выкинуто :) Потом понял, что в нескольких параллельных проектах использование общего ядра, принадлежащего каждому проекту индивидуально невероятно утомительно и вынес ядро в отдельный проект, сделав так, что проекты-расширения вообще не имеют отношения к ядру. Ни файлы там свои не хранят, ни, тем более, что-то модифицируют. Так и родился фреймворк в нынешнем виде.

KRoN73 ★★★★★
()
Ответ на: комментарий от iBliss

>Лучше пользовать OO в более предназначенных для этого языках нежели PHP.

По-моему, ООП в PHP вполне приличный :) Ну, конечно, я со Смолтоком не работал ;)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Что-то типа такого?
Не, тут имелось ввиду запись состоящая из произвольного количества полей(количество и тип которых редактируется через гуй). Насчет фильтров впринципе похоже, но у вас нельзя сделать даже элементарный чекбокс с выбором ASC или DESC. Не говоря уж о связях с записями другого типа.

Tark ★★
()
Ответ на: комментарий от Tark

>редактируется через гуй

Такой редактор делается на моём фреймворке за вечер. Но мне совершенно не нужен :) Отличий от частных случаев от общего решения всегда столько, что всегда проще сразу вручную написать нужный класс.

Насчет фильтров впринципе похоже, но у вас нельзя сделать даже элементарный чекбокс с выбором ASC или DESC


Ну так убери минус в метод order - делов-то :)

А если вопрос про разные варианты сортировки пользователем, то тоже что проще - ввёл параметр в GET-запрос и в метод с сортировкой - тринарный оператор. Или switch для более сложных случаев.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Такой редактор делается на моём фреймворке за вечер. Но мне совершенно не нужен :) Отличий от частных случаев от общего решения всегда столько, что всегда проще сразу вручную написать нужный класс.

Ну так убери минус в метод order - делов-то :)

Вы похоже не поняли прикола. Там суть не в том, что можно изменить контроллер. А в том, что это за десяток минут делается через гуй, и где фильтры, ставятся все чекбоксы, где сортировки - виджеты для указания направления сортировки, можно выбрать какие поля отображать, включить аякс/пагинацию/кэш, добавить пункт в меню и настроить роутинг. И все это для списка делается быстро и в одном месте.
Я не спорю, на фреймворках можно сделать кастомное решения, собственно для этого они и нужны. Но у drupal вся суть в такой изкоробчатости.

Tark ★★
()
Ответ на: комментарий от Tark

>А в том, что это за десяток минут делается через гуй

Ну а я за пяток минут это делаю в mcedit :) Зачем мне гуй?

Но у drupal вся суть в такой изкоробчатости.


Это-то понятно. Зато на нём не сделать что-то типа www.aviaport.ru :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Это-то понятно. Зато на нём не сделать что-то типа www.aviaport.ru :)
Сделать то можно, но для сложных динамичных сайтов проседать будет немного производительность, так что для таких кастомных вещей смысла использовать не вижу.

Ну а я за пяток минут это делаю в mcedit :) Зачем мне гуй?

Мы разными методами меряем пятиминутки)

Tark ★★
()
Ответ на: комментарий от urxvt

> ХЗ как они там сделали. Но что предложишь вместо MVC? Мешанину из php & html?

Уже нет, сейчас сижу вкуриваю это всё. Тут ещё не упомянули, в этих рамках ещё метапрограммирование возможно. Просто тупо не разобрался + проект чутка перекосоё..й + эмоции (этого у меня не отнять).

iBliss
() автор топика
Ответ на: комментарий от cds

>в магических директориях вроде «utils»

А эти директории при использовании MVC никуда не деваются (достался ту проектег (не на php, правда) с недоделками за одним деятелем, на которого бюджет кончился - utils на месте, а MVC во все поля - прям так и называется... Мол, вот, на острие отаке^Wтехнического прогресса. сплошная боль и кровавые брызги по лезвию. Это все конечно очень блаародно, а то что потоки деятель по настоящему не разумел и они у него гонялись и дедлочились как попало, особенно на процах, где больше одного ядра, - создаваясь на каждый чих и тупо грохаясь, когда «нинужны» - этот головняк нам весь достался. (В проекте можно было обойтись асинхронными вызовами, или на крайняк одним бэкграунд-воркером и очередью задачек для него)). Наверное, ТСа карго-культизм убивает. Если бы эти его «php-шники» внятно обосновали «тягу» к MVC - у него и повода для треда не возникло бы ;)

slackwarrior ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.