Зендятинка

Моя тропа изучения фреймворков привела меня к зенду, и вызвал он у меня огромные противоречивые чувства. Вроде мощный, вроде гибкий, вроде фреймворк, но всегда есть жирное но. Дальше немного вольный рассказ на тему как я провел зиму.

Zend Framework 2 Logo Art

Zend Framework 2 Logo Art

Во-первых как-то странно они взяли и выкинули из коробки сохранение моделей, и переложили всю ответственность на плечи клиентского кода. Думаю это серьезное решение, оно как хорошее так и плохое. Хорошо тем что можно самому реализовать удобное для себя сохранение моделей, наконец-то отделить модель то таблицы в базе, и еще много чего хорошего можно сделать, уж лучше иметь такую возможность, но сколько лишнего кода приходится писать для этих целей, а потом столько же кода копипастить с одного проекта в другой, потому что у 90% проектов сохранение моделей будет идентичным. А потом копипаст начинает зарастать. Ужас просто. Но зато гибко, да.

Ах, да, в мануале, да и все вокруг, предлагают использовать ORM библиотеки такие как Doctrine и Propel, они уберегут от написания кучи кода но как по мне могут вызвать еще кучу проблем. Наверное иногда это будет выходом.

Второе что встревожило это отсутствие нормального руководства к действию. Еще не удалось найти не одного нормального приложения сделанного с помощью zend framework 2, кроме ZendSkeletonApplication из которого чтобы сделать даже обычный блог нужно приложить нечеловеческие усилия. Иногда складывается такое чувство что либо все и так понятно и не нуждается в объяснениях и просто это я один туплю и не могу ничего понять, либо же всем просто стыдно за свой код.

Это кстати одна из проблем всего php-сообщества — отсутствие внятных и правильно работающий ответов на вопросы новичков. Потому что все примеры кода либо сломаны либо дырявые, а исправить всем лень, мол и сами разберутся. Возможно такая же судьба ждет и js сообщество. Это я понял после того как на SE в ответе на вопрос о 2+2 в js предложили поставить jquery.

В целом возможностей у зенд фреймворка много, а примеров очень мало, а те что есть очень сомнительного качества.

А еще пару недель меня смешила отличная шутка о том что «Zend framework 2: как использовать 748 паттернов проектирования для вывода Hello world!». Фраза принадлежит кому-то из твиттера, но суть она отражает просто гениально.

Так, а теперь немного о хорошем.

Helpers — это хорошо и удобно, придраться к чему есть, но в целом это довольно удобно. И самое важное то, что хэлперы легки и понятны, в отличии от так званной mvc модели.
Если по простому то это просто классы которые можно использовать в шаблонах и которые будут использовать правильный контекст отображения.

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

В итоге впечатления о зенде у меня противоречивые, но пока продолжу с ним работать, дальше будет видно стоит ли он того.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *