Листы
Эту статью , возможно, придется переписать, Википедии чтобы она соответствовала стандартам качества . ( апрель 2017 г. ) |
Разработчик(и) | Проект Ламинас |
---|---|
Репозиторий | Хранилище листов Репозиторий инструментов Laminas API |
Написано в | PHP |
Операционная система | Кросс-платформенный |
Лицензия | Новая лицензия BSD |
Веб-сайт | гетламины |
Разработчик(и) | Отправить технологии |
---|---|
Первоначальный выпуск | 3 марта 2006 г [1] |
Финальный выпуск | 3.0.0 [2]
/ 28 июня 2016 г |
Репозиторий | Zend-репозиторий |
Написано в | PHP 7 |
Операционная система | Кросс-платформенный |
Лицензия | Новая лицензия BSD |
Веб-сайт | рамки |
Laminas Project (ранее Zend Framework или ZF ) — это с открытым исходным кодом , объектно-ориентированная платформа веб-приложений реализованная на PHP 7 и лицензируемая по новой лицензии BSD . [3] Фреймворк представляет собой, по сути, набор профессиональных PHP-кодов. [4] -основанные пакеты. [5] Платформа использует различные пакеты с помощью Composer как части менеджеров зависимостей пакетов; некоторые из них — PHPUnit для тестирования всех пакетов и Travis CI для служб непрерывной интеграции. Laminas предоставляет пользователям поддержку модели -представления-контроллера (MVC) в сочетании с решением Front Controller. [6] Реализация MVC в Laminas имеет пять основных направлений. Функции маршрутизатора URL и диспетчера решают, какой контроллер запустить, на основе данных из -адреса , а функции контроллера в сочетании с моделью и представлением позволяют разработать и создать окончательную веб-страницу. [5]
17 апреля 2019 года было объявлено [7] что фреймворк превращается в проект с открытым исходным кодом, поддерживаемый Linux Foundation и известный как Laminas.
Лицензия
[ редактировать ]Laminas лицензируется в соответствии с одобренной Open Source Initiative (OSI) новой лицензией BSD, . Все новые материалы должны сопровождаться подтверждением сертификата происхождения разработчика . [8]
Zend Framework также лицензируется по новой лицензии BSD. Для ZF1 все участники кода должны были подписать Лицензионное соглашение для участников (CLA), основанное на CLA Apache Software Foundation . По словам Энди Гутманса из Zend, политика лицензирования и участия была создана для предотвращения проблем с интеллектуальной собственностью коммерческих пользователей ZF. [9] ZF2 и более поздние версии не содержат CLA. [10]
Компоненты и версии
[ редактировать ]Laminas Project придерживается семантического версионирования . Компоненты Framework имеют независимые версии и выпускаются как отдельные Composer пакеты . Зависимости между компонентами платформы объявляются как зависимости Composer с использованием семантических диапазонов версий.
До версии Zend Framework 2.5 все компоненты использовали одну и ту же версию. Начиная с версии Zend Framework 2.5, компоненты были разделены на пакеты с независимыми версиями, а zendframework/zendframework преобразованы в метапакет Composer. [11] Компоненты Framework, представленные после того, как разделение началось в версии 1.0, тогда как существующие компоненты продолжались с версии 2.5. Новые компоненты не были добавлены в метапакет, а сам метапакет был прекращен после выпуска 3.0.0.
Zend Framework 3 был последней версией до того, как было прекращено управление версиями всей платформы. [12] В Zend Framework 3 основные версии отдельных компонентов больше не соответствовали версиям фреймворка и вызывали путаницу. Некоторые компоненты, такие как zend-mvc и zend-servicemanager, получили соответствующую основную версию, но другие остались в версии 2, в то время как недавно представленные zend-diactoros, zend-stratigility и zend-expressive остались в основной версии 1.
Laminas Project не имеет единой версии фреймворка. Компоненты, перешедшие из Zend Framework, продолжили работу с существующими версиями, и все предыдущие выпуски были перенесены из их аналогов. Мета-пакет zendframework/zendframework не имеет аналога в Laminas.
Ламинас включает в себя следующие компоненты: [13]
Компонент | Описание |
---|---|
Аутентификация | Аутентифицируйте пользователей с помощью различных адаптеров и предоставляйте аутентифицированные данные вашему приложению. |
Штрих-код | Программно создавайте и отображайте штрих-коды в виде изображений или PDF-файлов. |
Кэш | Реализация кэширования с различными вариантами хранения, а также кодифицированные стратегии кэширования для обратных вызовов, классов и вывода. |
Капча | Создавайте и проверяйте CAPTCHA с помощью Figlets, изображений, ReCaptcha и многого другого. |
Код | Расширения PHP Reflection API, статическое сканирование кода и генерация кода. |
Установщик компонентов | Плагин Composer для внедрения модулей и поставщиков конфигурации в конфигурацию приложения. |
Конфигурация | Чтение и запись файлов конфигурации. |
Агрегатор конфигураций | Агрегируйте и объединяйте конфигурации из различных источников. |
Консоль | Создавайте консольные приложения, используя синтаксис getopt или маршрутизацию, с подсказками. |
Склеп | Надежные инструменты криптографии и хеширования паролей. |
БД | Уровень абстракции базы данных, абстракция SQL, абстракция набора результатов и реализации RowDataGateway и TableDataGateway. |
Отлаживать | Безопасно выгружать отладочную информацию в HTML. |
ОТ | Автоматизированное внедрение зависимостей и менеджер экземпляров. |
Диакторы | Реализации HTTP-сообщений PSR-7. |
ДОМ | Запрашивайте документы HTML и XML, используя селекторы XPath или CSS. |
Беглец | Надежно и безопасно экранируйте HTML, атрибуты HTML, JavaScript, CSS и URL-адреса. |
Менеджер событий | Реализуйте события, слоты сигналов, аспекты и наблюдателей! |
Выразительный | Промежуточное программное обеспечение PSR-7 за считанные минуты. |
Кормить | Потребляйте и генерируйте каналы Atom и RSS, а также взаимодействуйте с Pubsubhubbub. |
Файл | Найдите файлы классов PHP. |
Фильтр | Программно фильтруйте и нормализуйте данные и файлы. |
Форма | Проверка и отображение простых и сложных форм, приведение форм к бизнес-объектам и наоборот. |
HAL для PSR-7 | Язык гипертекстовых приложений (HAL) для PSR-7. |
HTTP | Абстракции HTTP-сообщений и заголовков, а также реализация HTTP-клиента. (Не реализация PSR-7.) |
Гидратор | Сериализуйте объекты в массивы и наоборот. |
ВходнойФильтр | Нормализуйте и проверяйте наборы входных данных из Интернета, API, интерфейса командной строки и т. д., включая файлы. |
Интернационализация | Предоставляйте переводы для вашего приложения, а также фильтруйте и проверяйте интернационализированные значения. |
JSON | Де/сериализация JSON в PHP, включая выражения JavaScript. |
JSON-RPC-сервер | Реализация JSON-RPC для PHP. |
ЛДАП | Выполнение операций LDAP, включая привязку, поиск и изменение записей в каталоге LDAP. |
Погрузчик | Стратегии автозагрузки и загрузки плагинов. |
Бревно | Надежный составной регистратор с фильтрацией, форматированием и поддержкой PSR-3. |
Почта | Анализируйте, создавайте, храните и отправляйте сообщения электронной почты, используя различные протоколы хранения и транспортировки. |
Математика | Создавайте криптографически безопасные псевдослучайные числа и управляйте большими целыми числами. |
Память | Управляйте данными в среде с ограниченной памятью. |
МИМ | Создавайте и анализируйте сообщения и части MIME. |
Менеджер модулей | Модульная система приложений для приложений zend-mvc. |
MVC | Управляемый событиями уровень MVC Laminas, включая приложения, контроллеры и плагины MVC. |
Интеграция MVC-консоли | Интеграция между zend-mvc и zend-console. |
Интеграция MVC-i18n | Интеграция между zend-mvc и zend-i18n. |
плагин fileprg() | Плагин Post/Redirect/Get с обработкой загрузки файлов для контроллеров zend-mvc. |
плагин flashmessenger() | Плагин для создания и предоставления флеш-сообщений через контроллеры zend-mvc. |
плагин идентификации() | Плагин для получения текущей аутентифицированной личности в контроллерах zend-mvc. |
плагин прг() | Плагин Post/Redirect/Get для контроллеров zend-mvc. |
Навигация | Управляйте деревьями указателей на веб-страницы для построения навигационных систем. |
страница | Разбивайте по страницам коллекции данных из произвольных источников. |
список управления доступом | Создавайте, управляйте и запрашивайте списки контроля доступа. |
РБАК | Предоставьте и запросите средства управления доступом на основе ролей для вашего приложения. |
Подробности проблемы | PSR-7 Подробности проблемы для ответов HTTP API и промежуточного программного обеспечения. |
Прогрессбар | Создавайте и обновляйте индикаторы выполнения в разных средах. |
Мост ПСР-7 | Преобразования сообщений PSR-7 <-> zend-http. |
Маршрутизатор | Гибкая система маршрутизации для HTTP и консольных приложений. |
Сериализатор | Сериализуйте и десериализуйте структуры PHP в различные представления. |
Сервер | Создайте серверы RPC на основе отражения. |
Сервисменеджер | Контейнер внедрения зависимостей, управляемый фабрикой |
Интеграция с Сервисменеджером | интеграция zend-di для zend-servicemanager |
Сессия | Объектно-ориентированный интерфейс для сеансов PHP и хранилища. |
МЫЛО | Создавайте, обслуживайте и получайте доступ к приложениям SOAP, а также анализируйте и генерируйте WSDL. |
стандартная библиотека | Расширения SPL, утилиты массивов, обработчики ошибок и многое другое. |
стратигильность | Основа промежуточного программного обеспечения PSR-7 для создания и диспетчеризации конвейеров промежуточного программного обеспечения. |
Ярлык | Управляйте и взвешивайте тегируемые элементы, а также создавайте облака тегов. |
Тест | Инструменты для облегчения модульного тестирования приложений zend-mvc. |
Текст | Создавайте Фиглеты и текстовые таблицы. |
ТИП | Объектно-ориентированный интерфейс для URI со средствами проверки. |
Валидатор | Классы проверки для широкого спектра доменов и возможность объединения валидаторов в цепочку для создания сложных критериев проверки. |
Вид | Гибкий уровень представления, поддерживающий и предоставляющий несколько слоев представления, помощников и т. д. |
XML-RPC | Полнофункциональные реализации XML-RPC-сервера и клиента. |
XML2JSON | Преобразование XML-документов в JSON. |
Установка
[ редактировать ]Официально поддерживаемый метод установки — через Composer менеджер пакетов .
Laminas предоставляет мета-пакет, включающий 61 компонент, но рекомендуемый способ — установить необходимые компоненты платформы по отдельности. Composer разрешит и установит все дополнительные зависимости.
Например, если вам нужен пакет MVC, вы можете установить его с помощью следующей команды:
$ composer require laminas/laminas-mvc
Полный список компонентов доступен в документации Laminas Framework. [13]
Анатомия каркаса
[ редактировать ]Laminas следует подходу «конфигурация важнее соглашения» и не навязывает какой-либо конкретной структуры приложения. Доступны скелетные приложения для zend-mvc и zend-expressive, которые предоставляют все необходимое для запуска приложений и служат хорошей отправной точкой.
Спонсор и партнеры
[ редактировать ]Компания Zend Technologies , сооснователями которой являются PHP основные разработчики Энди Гутманс и Зеев Сураски , была первоначальным корпоративным спонсором Zend Framework. [14] Технологические партнеры включают IBM , [15] Google , [16] Майкрософт , [17] Adobe Системы , [18] и СтрайкАйрон . [19]
Функции
[ редактировать ]Возможности Таблиц включают в себя: [20]
- Все компоненты полностью объектно-ориентированы на PHP 5 и совместимы с E_STRICT, что помогает в разработке тестов и написании кодов без ошибок и с защитой от сбоев. [21]
- Архитектура использования по желанию со слабосвязанными компонентами и минимальными взаимозависимостями.
- Расширяемая реализация MVC , поддерживающая макеты и шаблоны на основе PHP по умолчанию.
- Поддержка нескольких систем баз данных и поставщиков, включая MariaDB , MySQL , Oracle , IBM Db2 , Microsoft SQL Server , PostgreSQL , SQLite и Informix Dynamic Server.
- Составление и доставка электронной почты, извлечение через mbox , Maildir , POP3 и IMAP4.
- Гибкая подсистема кэширования с поддержкой многих типов бэкендов, таких как память или файловая система .
- С помощью служб удаленного вызова процедур (RPC) и REST ( передача репрезентативного состояния ) Zend Apigility помогает разработчикам создавать API, аутентификацию API , документацию API, простоту модификации. [22]
Разработка приложений
[ редактировать ]Приложения Laminas могут работать на любом стеке PHP, соответствующем техническим требованиям. Zend Technologies предоставляет стек PHP Zend Server (или Zend Server Community Edition), который рекламируется как оптимизированный для запуска приложений Laminas. Zend Server включает в свои установщики Zend Framework, а также PHP и все необходимые расширения. По данным Zend Technologies, Zend Server обеспечивает повышенную производительность приложений PHP и особенно Zend Framework за счет ускорения кода операций и нескольких возможностей кэширования, а также включает средства мониторинга и диагностики приложений. [23] Zend Studio — это IDE, включающая функции, специально предназначенные для интеграции с Zend Framework. Он обеспечивает представление MVC, генерацию кода MVC на основе Zend_Tool (компонент Zend Framework), средство форматирования кода, автодополнение кода, помощь с параметрами и многое другое. [24] Zend Studio не является бесплатным программным обеспечением, тогда как Zend Framework и Zend Server Community Edition бесплатны. Zend Server совместим с распространенными инструментами отладки, такими как Xdebug . Другие разработчики могут захотеть использовать другой стек PHP и другую IDE, например Eclipse PDT , которая хорошо работает вместе с Zend Server. Предварительно настроенная бесплатная версия Eclipse PDT с Zend Debug доступна на веб-сайте Zend.
Код, документация и стандарты тестирования
[ редактировать ]Код, вносимый в Laminas, подлежит строгому соблюдению правил, документации и стандартов тестирования. Весь код должен соответствовать стандартам кодирования проекта, а модульные тесты должны достичь 80% покрытия кода, прежде чем соответствующий код можно будет переместить в ветку выпуска. [25]
Простой облачный API
[ редактировать ]22 сентября 2009 г. Zend Technologies объявила. [26] что он будет работать с технологическими партнерами, включая Microsoft , IBM , Rackspace , Nirvanix и GoGrid , а также с сообществом Zend Framework для разработки общего API для облачных служб приложений, называемого Simple Cloud API . Этот проект является частью Zend Framework и будет размещен на веб-сайте Zend Framework. [27] но отдельный сайт под названием simplecloud.org [28] был запущен для обсуждения и загрузки самых последних версий API. 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, а пакеты были разделены, чтобы обеспечить возможность повторного использования. [12] Разработчики Zend Framework активно поощряют использование Zend Framework версии 3.x. Заявленный конец жизни Zend Framework 1 — 28 сентября 2016 г., а Zend Framework 2 — 31 марта 2018 г. Первая разрабатываемая версия Zend Framework 2.0 была выпущена 6 августа 2010 года. [29] Изменения, внесенные в этот выпуск, заключались в удалении require_once
операторы, переход на пространства имен PHP 5.3, рефакторинг набора тестов, переписанный Zend\Session
и добавление нового Zend\Stdlib
. Второй выпуск разработки состоялся 3 ноября 2010 года. [30] Первая стабильная версия Zend Framework 2.0 была выпущена 5 сентября 2012 года. [31]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Архивы» . Зенд-фреймворк . Проверено 1 мая 2013 г.
- ^ «зендфреймворк/зендфреймворк» . Гитхаб . Проверено 17 мая 2017 г.
- ^ «Введение в Zend Framework» . Справочное руководство ZF-программиста . Архивировано из оригинала 11 февраля 2009 г. Проверено 12 февраля 2009 г.
- ^ «Урок по PHP 5» . www.w3schools.com . Проверено 20 февраля 2017 г.
- ^ Перейти обратно: а б Компания «Зенд», «Дикая волна». «Zend Framework — О программе» . framework.zend.com . Проверено 5 февраля 2017 г.
{{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Супаартагорн, К. (2011). PHP Framework для управления базами данных на основе шаблона MVC. Международный журнал компьютерных наук и информационных технологий (IJCSIT) , 3 (2), 251-258.
- ^ «От Зенда до Ламинаса» . 17 апреля 2019 г.
- ^ «Технический устав («Устав») ООО «Ламинас Проект Серия ЛФ Проектов» . Гитхаб .
- ^ Гутманс, Энди (27 октября 2005 г.). «Zend Framework (сообщение слишком длинное, поэтому не забудьте выпить кофе)» . Энди в Интернете и информационных технологиях . Проверено 11 февраля 2009 г.
- ^ «Руководство для участников (ZF v1)» .
- ^ «Разделенная структура» . Гитхаб .
- ^ Перейти обратно: а б zendframework (28 июня 2016 г.). «Выпущен Zend Framework 3!» . Проверено 12 октября 2016 г.
- ^ Перейти обратно: а б «Документация к компонентам ZF» .
- ^ «История PHP и связанных с ним проектов» . Группа PHP . Проверено 11 февраля 2009 г.
- ^ ЛаМоника, Мартин (25 февраля 2005 г.). «IBM поддерживает веб-программное обеспечение с открытым исходным кодом» . cnet.com . Проверено 11 февраля 2009 г.
- ^ Кернел, Шон Майкл (20 декабря 2006 г.). «Данные Google присоединяются к PHP Zend Framework» . www.internetnews.com . Проверено 11 февраля 2009 г.
- ^ Крил, Пол (31 октября 2006 г.). «Microsoft, Zend повышает PHP для Windows» . infoworld.com . Проверено 11 февраля 2009 г.
- ^ Поттер, Майк (21 мая 2014 г.). «Adobe участвует в поддержке AMF для Zend Framework» . Официальный блог команды Flex . Архивировано из оригинала 7 февраля 2009 г. Проверено 11 февраля 2009 г.
- ^ «Рекомендуемые партнеры StrikeIron» . Проверено 11 февраля 2009 г.
- ^ «О Zend Framework» . Архивировано из оригинала 11 февраля 2009 г. Проверено 11 февраля 2009 г.
- ^ Зачем использовать Zend Framework? Автор SuntecOSS, дата обращения 21 апреля 2016 г.
- ^ Zend's Apigility, конструктор API с открытым исходным кодом для разработки качественных API с помощью SuntecOSS, дата обращения 19 мая 2016 г.
- ^ «Зенд-сайт» . Зенд.com . Проверено 17 мая 2017 г.
- ^ «Загрузить Zend Studio — IDE, профилировщик PHP, мобильные устройства, модульное тестирование и многое другое» . www.Zend.com . Архивировано из оригинала 1 июня 2017 года . Проверено 17 мая 2017 г.
- ^ «Руководство для участников Zend Framework» . 1 июля 2006 года. Архивировано из оригинала 18 мая 2008 года . Проверено 14 июля 2008 г.
- ^ «Пресс-релиз Simple Cloud API» . Архивировано из оригинала 1 декабря 2009 года . Проверено 5 ноября 2009 г.
- ^ «Веб-сайт Zend Framework» . Проверено 5 ноября 2009 г.
- ^ simplecloud.org
- ^ «Zend Framework 2.0.0dev1» . 06 августа 2010 г. Проверено 4 сентября 2010 г.
- ^ «Zend Framework 2.0.0dev2» . 03.11.2011. Архивировано из оригинала 16 июля 2011 г. Проверено 18 марта 2011 г.
- ^ «Выпущена СТАБИЛЬНАЯ версия Zend Framework 2.0.0! — Zend Framework — Zend Framework» . Framework.zend.com. 5 сентября 2012 года . Проверено 14 июня 2013 г.