Zend2 vs Zend3 - поиск логики авторов фреймворка. Zend1 и с чего все начиналось.
Опубликовано 3 июл, 2018
Теги #PHP #Zend framework

Куда же ведут неисповедимые пути разработчика? ))

В этой статье хотелось рассмотреть историю весьма популярного продукта Zend Framework всех версий, 1, 2 и 3 версии. Одна из причина, признаюсь честно, некоторое недопонимание разработчиков этой компании.


Zend Framework 1 - и с чего все начиналось

С Zend Framework 1 я познакомился очень давно - примерно в 2010 году. И на тот момент считал, что это просто космос. Тогда еще даже не использовал его полностью, а только некоторые компоненты:

  • Zend_Db
  • Zend_Log
  • Zend_Ldap

Мне приходилось работать с двумя СУБД - MySQL и MsSQL, а также  иногда заполнять базу SQLite. Это было действительно удобно. Чуть позже начал пользоваться всей палитрой включая MVC-компоненты. Безусловно мнения могут быть разными, и даже сам вначале к некоторым вещам привыкал долго, но в целом, все сделано умно. Может где-то и избыточно, но определенно умно.

Вот небольшой всем знакомый кусочек кода контроллера, который думаю многим сэкономил жизнь и кучу нервов:


class BookController extends Zend_Controller_Action

{       

    protected $access;

    protected $logger;

    protected $db;

    public function init()

    {

        /* Initialize action controller here */

        $this->logger = Zend_Registry::get("logger");

        $this->db = Zend_Registry::get("db");

    }


    public function preDispatch() {

      

    }


    public function __call($methodName, $args) {

        $this->indexAction();

    }

 }


Если бы сейчас меня спросили, что лучше Laravel или Zend1 + некоторые дописанные современные штучки? Я бы ответил Zend1. Laravel здесь беру для сравнения, так как в нем сейчас много современных удобств. 

Также пользовался компонентами:

  • Zend_Registty
  • Zend_Cache
  • Zend_Mail
  • Zend_Auth
  • Zend_Config
  • Zend_Controller
  • Zend_Application
  • Zend_Http
  • Zend_Soap
  • Zend_Pdf
  • Zend_Session
  • Zend_View

Можно сказать, что я использовал почти все возможности продукта. Безусловно Zend1, это уже старенькая штучка, написанная без использования namespace, да и много чего еще можно сказать. И тем не менее - это красиво, и до сих пор удобно. Набор базовых компонент, на мой взгляд, великолепен и покрывает 90% нужд.


Zend Framework 2 - модно, быстро, круто и неудобно)))

Когда впервые стал думать о переходе на Zend2, то первое что убило меня - это новая библиотека Zend-db. Это был кромешный ужас понимания того, что Разработчики продукта идут в неизвестном мне направлении. После этого шока я на время вообще отложил вопрос перехода. И понял, что если и перейду на Zend2, то библиотеку для подключения к Базе Данных надо брать стороннюю, и я выбрал Doctrine 2. 

Шоком номер 2 было отсутствие компонента Zend_Registry  и замена его на ServiceManager. Привык к этому не сразу, но привык. В чем-то даже плюсы нашел. Но все же сложность продукта стала, на мой взгляд, слишком большая.

Конечно, заметен прирост скорости, по сравнению с предыдущей версией, но цена за неудобства слишком велика.


Zend Framework 3 - времена пост-апокалипсиса, надежно и совсем неудобно)) 

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

  • увеличить безопасность до железобетонности
  • пересадить всех любителей Zend на Laravel и Yii )))))

И скепсис мой, думаю, вполне оправдан. Когда встречаешься с тем, что простую вещь можно сделать, только прочтя половину документации - скепсис появляется сам собой.  Получается, что вместо того, чтобы заниматься разработкой своего продукта, нужно изучать Zend 3. А когда же работать то?


Итог изысканий, безусловные плюсы Zend и перспектива

Из всего сказанного сделал такой вывод - сам буду продолжать писать на Zend2, и ждать с надеждой что Zend3 сделает резкий разворот к упрощению. Иначе - из перспектив это Laravel.

Безусловно, одним из гигантских плюсов является хорошая поддержка продукта (4-5 лет), и  это сейчас решающая причина работы на Zend. 


Мой итог - Zend 2 + Doctrine 2. 

Комментарии 0
защитный код
Блог вопросов и решений
Вопросы и решения всегда лежат прямо под ногами или летают над головой. Их надо ловить!
Последние посты
Популярное
Облако тегов
#Android #Java #JavaScript #MySQL #PHP #Tesseract OCR #Zend #Zend framework #Разработка