Zend Framework, его плюсы и минусы

Тихим сапом доделываю один проект на Zend Framework 1.6.1..

Многим библиотека понравилась. Есть много как плохого так и хорошего.
Из хорошего - достаточно толковый набор классов с БД, классы конфигурации, класс реестра - позволяющий совсем избежать так любимые всеми глобальные переменные.

Естественно конструкции работы с БД часто выглядят несколько громоздко. Но. На атомарных операциях, вроде "сохранить документ", "удалить документ", при написании частей приложения - это все позволяет значительно сократить время на тупую писанину запросов.

Zend_Form - позволяет быстро и легко создавать формы, декорированные програмистом так, как ему надо. Одной из приятностей класса является валидация данных - применяется набор классов валидаторов, которые сводят на нет тупую работу по проверке вводимых пользователем параметров.
Единcтвенное - я считаю это серьезным недочетом - элемент Zend_Form_Element_File - предназначенный для загрузки файлов работает очень интсресно - он делает вызов receive() получения файла на этапе валидации. Что приводит к вызову move_uploaded_file() ДО того как программист может решить - а что же делать с файлом :)
Я бы все-таки разделил на этом этапе валидацию.

Очень приятной оказалась интеграция с Dojo, в частности с компонентами позволяющими AJAX. Тут свой нюанс - в Dojo отсутствует русская локализация для календаря, но лечится это довольно простеньким патчем и самописным файликом локализации.

Zend_Search_Lucene, который предлагается использовать для поиска по сайту, и который позиционируется как порт Apache Lucene, при детальном рассмотрении оказался недоделкой... Потому как все результаты поиска эта штуковина тупо грузит в память всю выборку поиска. И вариант того, что памяти на один процесс PHP может не хватить, как то не продуман и не предусмотрен. Если же лимитировать поиск - то нафиг слетает ранжирование.
Получается что Zend_Search_Lucene - это нечто что хоть как-то работает с файлами апачевской люцены. и все. :)

Модель MVC в общем понравилась - существенно упростила разработку + Zend_Controller_Router фактически дает очень много возможностей для реализации ЧПУ.

Система работы с переводами строк Zend_Translate дает возможность создавать многоязычные приложения и съедает большое количество типов файлов переводов. + В ней есть кеширование строк, нужное, так как обработка файлов переводов - емкая операция. Единственный нюанс с Zend_Translate - отсутсвие понятия plural для правильной работы с числительными. Но с этим можно как то мириться. По крайней мере написать соответсвующую функцию можно достаточно быстро.

В общем складывается ощущение что люди пишут библиотеку медленно, но все-таки по уму, даже при большом количестве явных недоделок вроде Zend_Search_Lucene, и принципов работы Zend_Form_Element_File.

]]>]]>

Комментарии

Shpinx там не поддерживается?

нет. да че сфинкс... не нравится он мне. хочется чисто на PHP реализацию, а в итоге придется писать свое если припрет...

Надо же, только подумал - чойта ты давно на сайт не писал, а тут ты со своей статьёй :) и часа не прошло :)

еб@лся с кодом. :) много долго. нудно... предстоит еще больше.... :)

 А вот что б не "е@@@@ться с кодомдолго инудно" какраз и надо использовать  существующие разработки, а не плодить велосипеды направо-налево, да еще, к тому же, обычно трехколесные...

 

хотите об этом поговорить? :)

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Доступны HTML теги: <em> <strong> <blockquote> <p> <br />
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Вы не робот?
7 + 0 =
Решите простую задачку и введите результат. Например для 1+3 введите 4