Введение
PHP веб-приложение и фреймворк компонентов
Laminas Project (ранее Zend Framework или ZF) — это объектно-ориентированный веб-фреймворк с открытым исходным кодом, реализованный на PHP 7 и распространяемый по лицензии New BSD. Фреймворк представляет собой, по сути, набор профессиональных пакетов, разработанных на PHP. Реализация MVC в Laminas включает пять основных областей. Маршрутизатор и диспетчер определяют, какой контроллер следует запустить, основываясь на данных из URL, а функции контроллера, в сочетании с моделью и представлением, разрабатывают и создают конечную веб-страницу. 17 апреля 2019 года было объявлено о переходе фреймворка в проект с открытым исходным кодом, поддерживаемый Linux Foundation, под названием Laminas.
Лицензия
Laminas лицензируется на условиях новой лицензии BSD, одобренной Open Source Initiative (OSI). Все новые contributions должны сопровождаться подтверждением Developer Certificate of Origin. Zend Framework также лицензируется по новой лицензии BSD. Для ZF1 от всех разработчиков, вносивших код, требовалось подписание Лицензионного соглашения участника (CLA), основанного на CLA Apache Software Foundation. Политика лицензирования и внесения contributions была установлена для предотвращения проблем с интеллектуальной собственностью для коммерческих пользователей ZF, как пояснил Andi Gutmans из Zend. ZF2 и более поздние версии не требуют CLA.
Установка
Официально поддерживаемый способ установки – через менеджер пакетов Composer. Laminas предоставляет мета-пакет, включающий 61 компонент, но рекомендуется устанавливать необходимые компоненты фреймворка по отдельности. Composer разрешит и установит все дополнительные зависимости. Например, если вам нужен пакет MVC, вы можете установить его следующей командой: $ composer require laminas/laminas-mvc. Полный список компонентов доступен в документации Laminas Framework. Технологические партнеры включают IBM, Google, Microsoft, Adobe Systems и StrikeIron.
Разработка приложений
Приложения Laminas могут работать на любом PHP-стеке, соответствующем техническим требованиям. Zend Technologies предоставляет PHP-стек Zend Server (или Zend Server Community Edition), который позиционируется как оптимизированный для запуска приложений Laminas. Zend Server включает в себя Zend Framework в комплекте поставки, вместе с PHP и всеми необходимыми расширениями. По утверждению Zend Technologies, Zend Server обеспечивает повышенную производительность для PHP-приложений и особенно приложений Zend Framework благодаря ускорению обработки опкода и различным возможностям кэширования, а также включает средства мониторинга и диагностики приложений. Zend Studio — это интегрированная среда разработки (IDE), которая содержит функции, специально разработанные для интеграции с Zend Framework. Она предоставляет представление MVC, генерацию MVC-кода на основе Zend Tool (компонента Zend Framework), форматировщик кода, автодополнение кода, подсказки параметров и многое другое. Zend Studio не является бесплатным программным обеспечением, в то время как Zend Framework и Zend Server Community Edition распространяются бесплатно. Zend Server совместим с распространенными инструментами отладки, такими как Xdebug. Другие разработчики могут использовать альтернативный PHP-стек и другую IDE, например Eclipse PDT, которая хорошо взаимодействует с Zend Server. Предварительно настроенная бесплатная версия Eclipse PDT с Zend Debug доступна на веб-сайте Zend.
Кодекс, документация и стандарты испытаний
Вклад кода в Laminas должен соответствовать строгим стандартам качества кода, документации и тестирования. Весь код должен соответствовать стандартам кодирования проекта, а модульные тесты должны обеспечивать покрытие не менее 80% кода перед переносом соответствующего кода в релизную ветку.
Простой облачный API
22 сентября 2009 года Zend Technologies объявила о сотрудничестве с технологическими партнерами, включая Microsoft, IBM, Rackspace, Nirvanix и GoGrid, а также с сообществом Zend Framework, для разработки единого API для облачных приложений под названием Simple Cloud API. Этот проект является частью Zend Framework и будет размещен на сайте Zend Framework, однако для обсуждения и загрузки актуальных версий API был запущен отдельный сайт – simplecloud.org. Simple Cloud API и несколько облачных сервисов включены в Zend Framework. Адаптеры для популярных облачных сервисов достигли производственного уровня качества.
Современное развитие
Zend Framework 3.0 был выпущен 28 июня 2016 года. Он включает в себя новые компоненты, такие как сервер JSON RPC, конвертер XML в JSON, поддержку PSR 7 и совместимость с PHP 7. Zend Framework 3.0 работает до 4 раз быстрее, чем Zend Framework 2, а пакеты стали более независимыми, что позволяет повторно использовать их в большем количестве проектов. Изменения в этом релизе включали удаление операторов require_once, переход на пространства имен PHP 5.3, рефакторинг набора тестов, полную переработку Zend\Session и добавление нового Zend\Stdlib. Второй релиз для разработчиков состоялся 3 ноября 2010 года. Первый стабильный релиз Zend Framework 2.0 был выпущен 5 сентября 2012 года.