ZendFramework Какой php-фреймворк сейчас в тренде?

AmdY

Пью пиво
Команда форума
смарти-твиг этой проблемы не решают, те же хелперы, только вид сбоку.
 

fixxxer

К.О.
Партнер клуба
Решают, если не тупо копипастить ерунду из smarty/plugins а подойти к вопросу с умом. (Ну на native-php шаблонах, в принципе, так же решается).

Я наверное проще пример покажу, вот для smarty3 формы

http://pastebin.com/GE8NB5Kz
http://pastebin.com/zeVQhfpW

http://pastebin.com/ZViG9e1Z

В твиге вообще обхожусь макросами http://twig.sensiolabs.org/doc/tags/macro.html
 

Ragazzo

TDD interested
fixxxer
для N:M я делаю через комманды руками, а не через AR.
весь html код должен быть исключительно в .tpl файлах, до единого байта.
думаю не стоит разводить тут холивар на эту тему, это не аргумент а твое ИМХО, т.к. сейчас можно вспомнить топик в котором обсуждалось про "активные шаблоны" и т д.
Говнохэлперы в твоем понимании, это видимо виджеты zii или что-то в этом роде; виджеты можно и самому создавать, ну или так называемые портлеты, или расширения если уж совсем все не устраивает. Вообщем я ждал более конструктивного подхода к критике, я конечно понимаю, что ты отличный специалист, но вот так с порога хаять и обсирать фреймворк, который является одним из лучших, по-моему глупо.
AmdY
о каких договоренностях ты говорил?
 

fixxxer

К.О.
Партнер клуба
А сейчас так и есть.
Расширение .tpl файлов php, в них используется шаблонизатор PHP.
Это, как раз, пожалуйста, я совершенно не против такого подхода. Принципиальной разницы не вижу, php как template engine мне не нравится исключительно по эстетическим соображениям, но концептуально все ок.

Я имел в виду вот такой ужас. Для админок это нормально но только для них.

для N:M я делаю через комманды руками, а не через AR.
Вот это и надо допиливать. Те же рельсы все прекрасно умеют.
 

fixxxer

К.О.
Партнер клуба
вот так с порога хаять и обсирать фреймворк, который является одним из лучших, по-моему глупо.
ну ни фига себе :) указать на слабые места фреймворка это уже "обосрать" называется? да ты фанатик :)
 

Ragazzo

TDD interested
fixxxer
насчет множественных связей, будет конференция в Киеве, там об этом вроде будет, ну это так мимолетно. Ну эти слабые места есть у всех php-фреймворков. Как в зенд обстоят детали с множественными связями, кто тут использует зенд расскажите?м? Я думаю не стоит сравнивать с рельсами, т.к. это совсем другое, рельсы в силу руби могут многое, до чего php еще расти я думаю(с рельсами давно не разбирался уже), так-же можно еще и django приплести сюда и его преимущества, но говорю, что это уже холивар не в ту степь уходит. Я не фанатик, просто у Yii действительно есть много хороших сторон, кстати scopes вроде из тех же рельсов позаимствовали, многое во второй версии будет допилено /переделано, обратной совместимости не будет поэтому, посмотрим что будет дальше.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
В твиге вообще обхожусь макросами http://twig.sensiolabs.org/doc/tags/macro.html
Вот кстати (рекурсивный) вывод формы в twig'е при помощи макросов: http://svn.php.net/viewvc/pear/packages/HTML_QuickForm2/trunk/docs/examples/renderers/templates/array-twig.tpl?view=markup

Я имел в виду вот такой ужас. Для админок это нормально но только для них.
Статический класс на 2,2к строк --- жестковато... Причём практически все методы там по делу, но организация... Вычёркиваем yii из списка "на посмотреть".
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
насколько удобно поддерживать проекты с Yii, их увлечение магическими строками, статическими вызовами и AR в контроллерах меня пугает. При разработке это удобно, а вот доработка и поддержка....
Это не магические строки, а соглашения. Везде одно и то же, как reserved words в языке, и все в автокомплите.
В моем проекте люди с другого фреймворка и drupal перешли и начали писать в yii за неделю-две - с моей помощью, конечно.
Проблемы могут быть с поведениями и событиями, которые на лету меняют объекты, и когда нарушается архитектура - например, по началу в одну модель любят засунуть работу со множеством таблиц.

AmdY
может расскажет нам чуть подробней что именно будет про связи MANY_MANY в AR?
Лучше в отдельной теме. Тема по сути вызвана тем, что большинство кодеров пишут это неправильно.

fixxxer
Yii на мой взгляд требует серьезной доработки в плане view
Это не написано в доке (там и половины не написано), но официально в yii нет view для фронта.
Есть только генераторы и набор хелперов для админки. Одна из обсуждаемых тем yiiconf - "как убить сайт виджетами" - т.е. этими штуками, которые тебя пугают :)

справедливости ради замечу что прикрутить twig или smarty3 несложно
у меня опыт со смарти личный, работает хорошо и прозрачно, интеграция через конфиг, причем, можно использовать виджеты yii в smarty (в основном нужен ActiveForm, который кривой, но интегрирован с моделью и простые формы делаются за минуты)

С моделями тоже легко получаются только простые вещи, вида один объект - одна таблица, но это наверное везде.
Не только. Самое удобное - связи и вызовы вида $Comment->post->author->name

покажи мне код, делающий обновление связки N:M на "прописанных правильно связях"
я видел только сторонний плагин с откровенным говнокодом
их 3, какой из них ты смотрел? посмотри withrelated
AR - это не Table Data Gateway.
> Объект является "обёрткой" одной строки из БД - http://design-pattern.ru/patterns/active-record.html

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Статический класс на 2,2к строк --- жестковато... Причём практически все методы там по делу, но организация... Вычёркиваем yii из списка "на посмотреть".
Главная цель существования этой фигни - автогенерация кода для админки. И в такой роли оно себя оправдывает.
Но смысл yii в другом, это худшая часть, которую в yii2 сделают опциональной.
Наверное, приятно станет, если я интегрирую QF вместо ActiveForms. Тогда этот мусор можно будет не использовать вообще.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
fixxxer пока нигде, это по сути внутренняя информация об архитектуре, код пока в набросках
 

fisher

накатила суть
Вот кстати (рекурсивный) вывод формы в twig'е при помощи макросов: http://svn.php.net/viewvc/pear/packages/HTML_QuickForm2/trunk/docs/examples/renderers/templates/array-twig.tpl?view=markup
Интересный подход, но разобраться в этом очень непросто даже программеру.
Вообще над-язык разметки - это очень круто, но я удачных решений пока не видел.
 
  • Like
Реакции: AmdY

fixxxer

К.О.
Партнер клуба
Да это еще ничего. Свои твиг-макросы для форм я не просто так не стал показывать, у меня все еще хуже :)
Зато использовать удобно.

Вообще если таких штук становится много, самое время задуматься об xslt ;)
 

fixxxer

К.О.
Партнер клуба
ну это хреновый пример, там какие то таблицы и прочие календарики :)

нормальных у меня под рукой нет, но там все просто получается
 

Redjik

Джедай-мастер
Разьясните нубу почему Chtml в yii все же плох, ну 2200 строк, ну статика, хелперы...
я это все использую, и на мой взгял это вполне удобный монструозный хелпер класс... тем более любая ide покажет все методы...

я знаю для себя, что вот в таком-то месте вида мне нужна динамика, я вызываю chtml и выбираю нужный метод - занимает минуту.
jQuery точно такой же подход...

я не спорю, но уже несколько раз натыкался, что Chtml хают, мне не хватает опыта, чтобы постигнуть ПОЧЕМУ :D
 
Сверху