Эту статью, возможно, придется переписать, чтобы она соответствовала стандартам качества Википедии . ( Апрель 2017 г. ) |
Автор (ы) оригинала | Zend Technologies |
---|---|
Разработчики) | Linux Foundation |
Первый выпуск | 3 марта 2006 г . [1] |
Стабильный выпуск | 3.0.0 [2] / 28 июня 2016 г . |
Репозиторий | Zend репозиторий |
Написано в | PHP 7 |
Операционная система | Кроссплатформенность |
Лицензия | Новая лицензия BSD |
Веб-сайт | getlaminas |
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 находится под лицензией New BSD, одобренной Open Source Initiative (OSI) . Для ZFv1 все кодовые авторы должны подписать соглашение Contributor License (CLA) на основе фонда Apache Software «s CLA . По словам Энди Гутманса из Zend, политика лицензирования и внесения взносов была создана для предотвращения проблем с интеллектуальной собственностью для коммерческих пользователей ZF. [8] ZF2 и более поздние версии не содержат CLA. [9] Для структуры также доступна долгосрочная поддержка (долгосрочная поддержка или LTS) в течение 3 лет.
Компоненты и управление версиями [ править ]
Начиная с Zend Framework версии 2.5, компоненты разделяются на пакеты с независимыми версиями, а zendframework / zendframework конвертируется в метапакет Composer. Компоненты фреймворка, представленные после разделения, не добавляются в метапакет.
В то время как версия выпуска метапакета zendframework / zendframework остается на уровне 3.0.0, он проинструктирует Composer установить последние совместимые версии компонентов фреймворка в соответствии с семантическим управлением версиями. Таким образом, компонент zend-mvc будет установлен в его текущей версии 3.1.1, zend-servicemanager в версии 3.3.0 и zend-form в версии 2.10.2.
Laminas состоит из следующих компонентов: [10]
Составная часть | Описание |
---|---|
Аутентификация | Аутентифицируйте пользователей с помощью различных адаптеров и предоставьте аутентифицированную личность вашему приложению. |
Штрих-код | Программно создавайте и отображайте штрих-коды как изображения или в PDF-файлы. |
Кеш | Реализация кэширования с различными вариантами хранения, а также кодифицированные стратегии кэширования для обратных вызовов, классов и вывода. |
Капча | Создавайте и проверяйте CAPTCHA с помощью Figlets, изображений, ReCaptcha и т. Д. |
Код | Расширения PHP Reflection API, статическое сканирование кода и генерация кода. |
Установщик компонентов | Плагин Composer для внедрения модулей и поставщиков конфигурации в конфигурацию приложения. |
Конфиг | Чтение и запись файлов конфигурации. |
Агрегатор конфигураций | Агрегировать и объединять конфигурацию из различных источников. |
Приставка | Создавайте консольные приложения с использованием синтаксиса или маршрутизации getopt с подсказками |
Склеп | Надежные инструменты криптографии и хеширования паролей. |
БД | Уровень абстракции базы данных, абстракция SQL, абстракция набора результатов и реализации RowDataGateway и TableDataGateway. |
Отлаживать | Безопасно выгружайте отладочную информацию в HTML. |
DI | Автоматическое внедрение зависимостей и диспетчер экземпляров. |
Diactoros | Реализации сообщений HTTP PSR-7. |
ДОМ | Запрашивайте документы HTML и XML с помощью селекторов XPath или CSS. |
Беглец | Надежно и безопасно избегайте HTML, атрибутов HTML, JavaScript, CSS и URL-адресов. |
Менеджер по корпоративным мероприятиям | Реализуйте события, слоты сигналов, аспекты и наблюдателей! |
Выразительный | Промежуточное ПО PSR-7 за считанные минуты. |
Кормить | Потребляйте и создавайте каналы Atom и RSS, а также взаимодействуйте с Pubsubhubbub. |
Файл | Найдите файлы классов PHP. |
Фильтр | Программная фильтрация и нормализация данных и файлов. |
Форма | Проверяйте и отображайте простые и сложные формы, преобразовывая формы в бизнес-объекты и наоборот. |
HAL для ПСР-7 | Язык гипертекстовых приложений (HAL) для PSR-7. |
HTTP | Абстракции HTTP-сообщения и заголовка, а также реализация HTTP-клиента. (Не реализация PSR-7.) |
Гидратор | Сериализуйте объекты в массивы и наоборот. |
InputFilter | Нормализация и проверка входных наборов из Интернета, API, интерфейса командной строки и т. Д., Включая файлы. |
Интернационализация | Предоставляйте переводы для своего приложения, а также фильтруйте и проверяйте интернационализированные значения. |
JSON | Де / сериализовать JSON в PHP, включая выражения JavaScript. |
Сервер JSON-RPC | Реализация JSON-RPC для PHP. |
LDAP | Выполнять операции LDAP, включая привязку, поиск и изменение записей в каталоге LDAP. |
Загрузчик | Стратегии автозагрузки и загрузки плагинов. |
Бревно | Надежный составной регистратор с фильтрацией, форматированием и поддержкой PSR-3. |
Почта | Анализируйте, создавайте, храните и отправляйте сообщения электронной почты, используя различные протоколы хранения и транспорта. |
Математика | Создавайте криптографически безопасные псевдослучайные числа и управляйте большими целыми числами. |
объем памяти | Управляйте данными в среде с ограниченным объемом памяти. |
MIME | Создавайте и анализируйте сообщения и части MIME. |
Менеджер модуля | Модульная система приложений для приложений zend-mvc. |
MVC | Уровень MVC Laminas, управляемый событиями, включая приложения, контроллеры и плагины MVC. |
Интеграция MVC-Console | Интеграция между zend-mvc и zend-console. |
Интеграция MVC-i18n | Интеграция между zend-mvc и zend-i18n. |
плагин fileprg () | Плагин Post / Redirect / Get с обработкой загрузки файлов для контроллеров zend-mvc. |
плагин flashmessenger () | Плагин для создания и отображения флэш-сообщений через контроллеры zend-mvc. |
плагин identity () | Плагин для получения текущей аутентифицированной личности в контроллерах zend-mvc. |
плагин prg () | Плагин Post / Redirect / Get для контроллеров zend-mvc. |
Навигация | Управляйте деревьями указателей на веб-страницы для построения систем навигации. |
Пагинатор | Пагинация коллекций данных из произвольных источников. |
ACL | Создавайте, управляйте и запрашивайте списки контроля доступа. |
RBAC | Предоставление и запрос средств управления доступом на основе ролей для вашего приложения. |
Детали проблемы | PSR-7 Подробная информация о проблеме для ответов HTTP API и промежуточного программного обеспечения. |
Индикатор | Создавайте и обновляйте индикаторы выполнения в разных средах. |
Мост PSR-7 | PSR-7 <-> преобразование сообщений zend-http. |
Маршрутизатор | Гибкая система маршрутизации для HTTP и консольных приложений. |
Сериализатор | Сериализуйте и десериализуйте структуры PHP для различных представлений. |
Сервер | Создавайте RPC-серверы на основе отражения. |
Сервис-менеджер | Заводской контейнер для внедрения зависимостей |
Интеграция ServiceManager-Di | интеграция zend-di для zend-servicemanager |
Сессия | Объектно-ориентированный интерфейс для сессий и хранилища PHP. |
МЫЛО | Создавайте, обслуживайте и получайте доступ к приложениям SOAP, а также анализируйте и генерируйте WSDL. |
Stdlib | Расширения SPL, утилиты для работы с массивами, обработчики ошибок и многое другое. |
Рассудительность | Основа промежуточного программного обеспечения PSR-7 для построения и распределения конвейеров промежуточного программного обеспечения. |
Тег | Манипулируйте и взвешивайте тегируемые элементы, а также создавайте облака тегов. |
Контрольная работа | Инструменты для облегчения модульного тестирования приложений zend-mvc. |
Текст | Создавайте FIGlets и текстовые таблицы. |
URI | Объектно-ориентированный интерфейс для URI с возможностями проверки. |
Валидатор | Классы валидации для широкого диапазона доменов и возможность связывать валидаторы для создания сложных критериев валидации. |
Вид | Гибкий уровень представления, поддерживающий и предоставляющий несколько слоев представления, помощников и т. Д. |
XML-RPC | Полнофункциональные реализации сервера и клиента XML-RPC. |
XML2JSON | Конвертируйте XML-документы в JSON. |
Установка [ править ]
Официально поддерживаемый метод установки - через менеджер пакетов Composer .
Laminas предоставляет мета-пакет, который включает 61 компонент, но рекомендуемый способ - установить необходимые компоненты каркаса по отдельности. Composer разрешит и установит все дополнительные зависимости.
Например, если вам нужен пакет MVC, вы можете установить его с помощью следующей команды:
$ composer требует zendframework / zend-mvc
Полный список компонентов доступен в документации Zend Framework. [10]
Анатомия каркаса [ править ]
Laminas следует подходу конфигурации, а не соглашению и не требует какой-либо конкретной структуры приложения. Доступны каркасные приложения для zend-mvc и zend-expressive, которые предоставляют все необходимое для запуска приложений и служат хорошей отправной точкой.
Рекомендуемая структура каталогов приложения MVC [ править ]
ZendSkeletonApplication, приложение-скелет, использующее системы слоев и модулей Laminas MVC, можно установить с помощью:
$ composer create-project zendframework / скелет-приложение <путь-проекта>
Он создаст подобную файловую структуру:
<название проекта> /├── config /│ ├── автозагрузка /│ │ ├── global.php│ │ └── local.php.dist│ ├── application.config.php│ └── modules.config.php├── данные /│ └── кеш /├── модуль /├── общедоступный /│ └── index.php├── продавец /├── composer.json├── composer.lock└── phpunit.xml.dist
Каталог config / имеет конфигурации для всего приложения. Каталог module / содержит локальные модули, которые фиксируются вместе с application. vendor / содержит код поставщика и другие модули, управляемые независимо от приложения, содержимое папки обычно управляется Composer.
У модуля Laminas есть только одно требование: класс модуля существует в пространстве имен модуля и может быть загружен автоматически. Класс модуля предоставляет приложению логику настройки и инициализации. Рекомендуемая структура модуля следующая:
<имя модуля>├── config /│ └── module.config.php├── src /│ └── Module.php├── тест /├── просмотр /├── composer.json└── phpunit.xml.dist
Каталог config / содержит конфигурации модулей, каталог src / содержит исходный код модуля, как определено в стандарте автозагрузки PSR-4 , каталог test / содержит модульные тесты для модуля, а каталог view / содержит сценарии просмотра.
Создание структуры проекта [ править ]
Laminas поддерживает ввод из командной строки для создания структуры каталогов. Мы будем использовать интерфейс командной строки, чтобы начать создание структуры каталогов для нашего проекта. Это даст вам полное представление о структуре каталогов. Интерфейс поддерживает и предоставляет интерфейс Zend_Tool, предоставляющий целый ряд командных функций.
- Откройте интерфейс командной строки и измените каталог hellozend.
- Пользователи Windows вводят: bin \ zf \ bat создать проект
- Пользователи Linux / Mac вводят: bin \ zf.sh создать проект
Эта процедура создаст проект Laminas в указанном вами месте. После запуска Zend_Toll будет создан базовый каркас приложения. [11] Это создаст не только структуру каталогов, но и все основные элементы инфраструктуры MVC . [11] Чтобы получить функциональные возможности Apache, настройки виртуального хоста будут такими: [11]
Слушайте 8080 <VirtualHost *: 8080 > DocumentRoot / User / keithpope / Sites / hellozend / public </VirtualHost>
Созданная базовая структура каталогов будет примерно такой, как упоминалось в вышеупомянутой структуре каталогов Zend Framework, с аналогичным объяснением. Еще один аспект Zend-Tool, который автоматически инициализируется во время установки, - это начальная загрузка. Здесь основная цель - инициализировать запрос страницы разработчиком. Основная запись здесь, созданная Zend Framework, - это индексный файл. Индексный файл предоставляет функцию для обработки запроса пользователя. Это основная точка входа для всех запросов. Ниже показаны функциональные возможности. [11]
- Application-path: определяет путь к каталогу приложения.
- Application_Env: изменяет поведение приложения в зависимости от различных факторов, таких как способ использования приложения.
- getenv (): проверяет системное окружение.
- Инициализировать приложение Zend-Application: включить Zend-Application и создать его экземпляр.
- Вызов метода bootstrap () вместе с методом run (), запускающий MVC .
В общем, Zend-Tool создает много важных структур каталогов. Эта система построена на технологии быстрой разработки приложений . Как общее правило поддержки, фреймворк фокусируется на кодировании и структурах проекта, а не на более мелких частях. [12]
- Структура каталога проекта
- Контроллеры
- Действия
- Взгляды
- Файл начальной загрузки
Контроллеры [ править ]
Контроллер - это основной вход в приложение Laminas. [13] Обработчик фронт-контроллера является главным центром для приема запросов и выполнения точных действий в соответствии с запросами команд. Весь процесс запроса и реагирования - это маршрутизация и диспетчеризация (что в основном означает вызов правильных методов в классе), которые определяют функциональность кода. [13] Это реализуется через интерфейс Zend_Controller_Router_-. [13] Функция маршрутизатора заключается в том, чтобы определить, какие действия необходимо выполнить, а диспетчер, наоборот, выполняет эти запрошенные действия. [13] Контроллер в Laminas подключен к разнообразному массиву структурных каталогов, что обеспечивает поддержку эффективной маршрутизации. [13]Основной точкой входа и командным контроллером является Zend_Controller_Front, он работает как основа, которая делегирует полученную и отправленную работу. Запрос формируется и инкапсулируется с экземпляром Zend Controller Request HTTP в качестве поставщика доступа к HTTP- запросам. [13] HTTP - держать все суперглобальные фреймворка ($ _GET, $ _POST, $ _COOKIE, $ _SERVER и $ _ENV) с их соответствующими путями. Более того, контроллер также предоставляет функции getParam (), которые позволяют собирать запрошенные переменные.
Действия [ редактировать ]
Действия - важные функции. Контроллеры не работают без действий. Для этого мы создаем другой метод, к имени которого добавлено действие, и фронт-контроллер автоматически распознает его как действие. [11] Действие имеет метод init (), который показывает его частный характер и недоступен никому. [11] Следующие команды выполняются, чтобы Zend_Tool мог создать действие за нас. [11] Благодаря использованию стандартного диспетчера все функции называются по имени действия и к ним добавляется слово «Действие». [13] Это приводит к классу действий контроллера, содержащему такие методы, как indexAction (), viewAction (), editAction () и deleteAction ().
Пользователи Windows:
bin \ zf.bat создать действия с индексом
Пользователи Linux и Mac :
bin / zf.sh создать действие по индексу
Пример форм и действий: [14]
пространство имен Альбом \ Форма ;используйте Zend \ Form \ Form ;class AlbumForm extends Form { public function __construct ( $ name = null ) { // мы хотим игнорировать переданное имя parent :: __construct ( 'album' ); $ this -> add ( array ( 'name' => 'id' , 'type' => 'Скрытый' , )); $ this -> add ( array ( 'name' => 'title' , 'type' => 'Text' , 'options' => array ( 'label' => 'Title' , ), )); $ это -> добавить ( массив ( 'имя' => 'художник ' , ' type ' => 'Text' , 'options' => array ( 'label' => 'Artist' , ), )); $ это -> добавить ( array ( 'name' => 'submit' , 'type' => 'Submit' , 'attributes' => array ( 'value' => 'Go' , 'id' => 'submitbutton' , ), )); } // источник: Руководство по Zend Framework }
Стандартный роутер [ править ]
Стандартный маршрутизатор - важный инструмент переднего контроллера. Здесь принимаются основные решения в том, какой модуль, контроллер и действие запрашиваются. [11] Все они здесь обрабатываются. Ниже приводится структура по умолчанию.
- Модуль
- Контроллер
- Действия
Запрос следует шаблону, первая информация берется из конечной точки URL HTTP . URI - это конечная точка запроса. Структура URL выглядит следующим образом: [11] http://domain.com/moduleName/controllerName/actionName
Пример кода маршрутизатора по умолчанию: [15]
// Предполагая следующее: $ ctrl -> setControllerDirectory ( array ( 'default' => '/ path / to / default / controllers' , 'news' => '/ path / to / news / controllers' , 'blog' = > '/ путь / к / блогу / контроллерам' ) );
Только модуль:
http: // example / news
module == news
Недействительный модуль соответствует имени контроллера:
http: // example / foo
controller == foo
Модуль + контроллер:
http: // example / blog / archive
module == blog
controller == Архивный
модуль + контроллер + действие:
http: // example / blog / archive / list
module == blog
controller == archive
action == list
Module + controller + action + params:
http: // example / blog / archive / list / sort / alpha / date / desc
module == blog
controller == archive
action == list
sort == alpha
date == desc
Служебные методы [ править ]
Проект Laminas также предоставляет некоторые вспомогательные методы. Ниже приведены некоторые служебные методы, представленные в платформе. [11]
- _вперед()
- он используется для призыва к действию
_forward{$action, $controller = null, $module = null, array $params = null}
- $ действия
- строка, требуется действие
- $ контроллер
- необязательный строковый параметр и это место, где находится контроллер.
- $ модуль
- строка, имеет модуль, в котором у нас есть контроллер.
- $ params
- массив, пользовательский параметр
Другой метод - это служебный метод перенаправления. Это противоположно вышеупомянутому методу _forward (). [11] _redirect () выполняет HTTP- перенаправление при создании нового запроса. [11] Методы _redirect () принимают два аргумента, а именно $ url и $ options.
Кроме того, помощники действий также являются способом предоставления дополнительных функций в рамках. Помощники действий полезны, когда необходимо обеспечить функциональность между контроллерами. [11]
//application/controllers/IndexController.php общедоступная функция init () { $ this -> _helper -> viewRenderer -> setNoRender (); }
На этапе инициализации IndexController и ContactController вызывается viewReader и для объекта представления вызывается флаг noRender. [11] Отсутствие этого процесса создает ошибку в нашем приложении.
Просмотр каталогов [ править ]
Laminas обеспечивает структуру представления для нашего проекта и контроллера, а действия автоматически предоставляются нашему приложению. Внутри папки Laminas in view мы наблюдаем следующие папки. [11]
- Вид
- Помощники
- Скрипты
- Контакты
- ошибки
- индекс
Чтобы создать представление, мы следуем: [11]
<! - application / views / scripts / index / index.phtml -> < html > < head > < title > < Hello Zend </ title > </ head > < body > < hi > Hello Zend </ hi > < p > Привет от Zend Framework </ p > </ body > </ html >
Посмотреть образец: [16]
// https://framework.zend.com/manual/2.4/en/modules/zend.view.quick-start.html пространство имен Foo \ Controller ;используйте Zend \ Mvc \ Controller \ AbstractActionController ; используйте Zend \ View \ Model \ ViewModel ;класс BazBatController расширяет AbstractActionController { общедоступная функция doSomethingCrazyAction () { $ view = new ViewModel ( array ( 'message' => 'Hello world' , )); $ view -> setTemplate ( 'foo / baz-bat / do-something-crazy' ); return $ view ; } }
Спонсор и партнеры [ править ]
Zend Technologies , соучредителями которой являются основные участники PHP Энди Гутманс и Зеев Сураски , была первоначальным корпоративным спонсором Zend Framework. [17] Технологическими партнерами являются IBM , [18] Google , [19] Microsoft , [20] Adobe Systems , [21] и StrikeIron . [22]
Особенности [ править ]
Характеристики ламин включают: [23]
- Все компоненты PHP 5 полностью объектно-ориентированы и совместимы с E_STRICT, что помогает в разработке тестов и написании кодов без ошибок и без сбоев. [24]
- Архитектура использования по желанию со слабосвязанными компонентами и минимальными взаимозависимостями
- Расширяемая реализация 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, простую модификацию [25]
Разработка приложений [ править ]
Приложения Laminas могут работать на любом стеке PHP, который соответствует техническим требованиям. Zend Technologies предоставляет стек PHP, Zend Server (или Zend Server Community Edition), который рекламируется как оптимизированный для запуска приложений Laminas. Zend Server включает Zend Framework в свои установщики вместе с PHP и всеми необходимыми расширениями. Согласно Zend Technologies, Zend Server обеспечивает повышенную производительность для приложений PHP и особенно Zend Framework за счет ускорения кода операции и нескольких возможностей кэширования, а также включает средства мониторинга и диагностики приложений. [26] Zend Studio- это IDE, которая включает функции, специально предназначенные для интеграции с Zend Framework. Он предоставляет представление MVC, генерацию кода MVC на основе Zend_Tool (компонент Zend Framework), средство форматирования кода, автозавершение кода, поддержку параметров и многое другое. [27] Zend Studio не является бесплатным программным обеспечением, тогда как Zend Framework и Zend Server Community Edition бесплатны. Zend Server совместим с распространенными инструментами отладки, такими как Xdebug . Другие разработчики могут захотеть использовать другой стек PHP и другую IDE, такую как Eclipse PDT, которая хорошо работает вместе с Zend Server. Предварительно настроенная бесплатная версия Eclipse PDT с Zend Debug доступна на веб-сайте Zend.
Код, документация и стандарты тестирования [ править ]
Код, добавляемый в Laminas, регулируется строгими стандартами кода, документации и тестирования. Весь код должен соответствовать стандартам кодирования проекта, а модульные тесты должны достичь 80% покрытия кода, прежде чем соответствующий код может быть перемещен в ветвь выпуска. [28]
Простой облачный API [ править ]
22 сентября 2009 г. Zend Technologies объявила [29], что будет работать с технологическими партнерами, включая Microsoft , IBM , Rackspace , Nirvanix и GoGrid, а также с сообществом Zend Framework, чтобы разработать общий API для служб облачных приложений под названием Simple Cloud. API . Этот проект является частью Zend Framework и будет размещен на веб-сайте Zend Framework [30], но на отдельном сайте под названием simplecloud.org [31]был запущен для обсуждения и загрузки самых последних версий API. Simple Cloud API и несколько облачных сервисов включены в Zend Framework. Адаптеры к популярным облачным сервисам достигли производственного качества.
Hello World: файл за файлом [ править ]
Чтобы создать программу Hello World, нужно выполнить несколько шагов, в том числе:
- Сначала создайте четыре файла в структуре каталогов. Это файл начальной загрузки, файл управления Apache ( .htaccess ), файл контроллера и контроллер представления для представления. [13]
- Во-вторых, необходимо разработать копию Zend Framework. С ростом сложности требуется дополнительный код, который обеспечит функциональность, относительно небольшой и фокусируется на преимуществах системы MVC . [13] Что касается процесса более подробно, файл начальной загрузки - это инициализация в той или иной форме.
Затем необходимо убедиться, что среда правильная и нет ошибок, а затем установить дату и время для функции отслеживания. [13] Чтобы установить дату и время, можно выполнить множество процедур; например, может быть вызван метод data_default_timezone_set (), и Zend предполагает, что каталог по умолчанию будет включать путь phd. [13] Zend Framework не зависит от какого-либо конкретного файла, но в этом случае полезны вспомогательные классы. Вот несколько примеров:
- Zend_Loader :: loadClass () основная цель здесь - исправить файл для предоставленного имени класса.
- После этого символы подчеркивания преобразуются в структуры, специфичные для каталога. [13] В результате код строки Zend_Loader :: loadClass ('Zend_Controller_Front'); и include_once 'Zend / Controller / Front.php'; показать похожие результаты.
- Zend_Debug :: dump () выполняет функции с точки зрения отладочной информации и ориентирован на форматированный вывод var_dump (). [13] Наконец, программа начальной загрузки запускает передний контроллер и инициализирует его. Шаблон проектирования, используемый Zend_Controller_Front, является дизайном Singleton, а getInstance () используется для получения единственного экземпляра. [13]
Текущая разработка [ править ]
Zend Framework 3.0 был выпущен 28 июня 2016 года. Он включает новые компоненты, такие как сервер JSON RPC, преобразователь XML в JSON, функциональность PSR-7 и совместимость с PHP 7. Zend Framework 3.0 работает до 4 раз быстрее, чем Zend Framework 2, и пакеты были разъединены, чтобы обеспечить большее повторное использование. [32] Разработчики Zend Framework активно поощряют использование Zend Framework версии 3.x. Заявленный срок службы Zend Framework 1 - 28 сентября 2016 г., а для Zend Framework 2 - 31 марта 2018 г. Первый разрабатываемый выпуск Zend Framework 2.0 был выпущен 6 августа 2010 года. [33] Изменения, внесенные в этот выпуск, включали удаление операторов require_once , переход на пространства имен PHP 5.3, отремонтированный набор тестов, переписанныйZend \ Session и добавление нового Zend \ Stdlib . Второй разрабатываемый выпуск состоялся 3 ноября 2010 г. [34] Первый стабильный выпуск Zend Framework 2.0 был выпущен 5 сентября 2012 г. [35]
См. Также [ править ]
- Инструменты API Laminas
- Сравнение веб-фреймворков
- Новая лицензия BSD
- Zend Сервер
- Zend Studio
Ссылки [ править ]
- ^ «Архивы» . Zend Framework . Проверено 1 мая 2013 года .
- ^ "zendframework / zendframework" . GitHub . Проверено 17 мая 2017 года .
- ^ «Введение в Zend Framework» . Справочное руководство программиста ZF . Проверено 12 февраля 2009 .
- ^ «Учебник по PHP 5» . www.w3schools.com . Проверено 20 февраля 2017 .
- ^ a b Компания Zend, Rogue Wave. «Zend Framework - О программе» . framework.zend.com . Проверено 5 февраля 2017 .
- ^ Supaartagorn, C. (2011). PHP Framework для управления базами данных на основе шаблона MVC. Международный журнал компьютерных наук и информационных технологий (IJCSIT) , 3 (2), 251-258.
- ^ «От Зенда к ламинам» . 17 апреля 2019.
- ^ Гутманс, Andi (2005-10-27). «Zend Framework (сообщение слишком длинное, поэтому не забудьте выпить кофе)» . Энди в Интернете и информационных технологиях . Проверено 11 февраля 2009 .
- ^ "Руководство для авторов (ZF v1)" .
- ^ a b «Документация по компонентам ZF» .
- ^ Б с д е е г ч я J к л м п о р Поуп, Кит. Zend Framework 1.8 Разработка веб-приложений (1). Олтон, Великобритания: Packt Publishing, 2009. Электронная библиотека ProQuest. Интернет. 13 февраля 2017.
- Перейти ↑ Padilla, A. (2009). Начало Zend Framework . Апресс.
- ^ Б с д е е г ч я J к л м н Аллен, Р., Л, Н., & Браун, С. (2009). Zend framework в действии . Укомплектование персоналом.
- ↑ Компания, Zend, Rogue Wave. «Zend Framework - Проблема» . framework.zend.com . Проверено 14 февраля 2017 .
- ↑ Компания, Zend, Rogue Wave. «Zend Framework - Проблема» . framework.zend.com . Проверено 14 февраля 2017 .
- ↑ Компания, Zend, Rogue Wave. «Zend Framework - Проблема» . framework.zend.com . Проверено 14 февраля 2017 .
- ^ «История PHP и связанных проектов» . Группа PHP . Проверено 11 февраля 2009 .
- ^ LaMonica, Martin (2005-02-25). «IBM поддерживает программное обеспечение с открытым исходным кодом для Интернета» . cnet.com . Проверено 11 февраля 2009 .
- ^ Ядро, Шон Майкл (2006-12-20). «Google Data присоединяется к PHP Zend Framework» . internetnews.com . Проверено 11 февраля 2009 .
- ^ Крилл, Пол (2006-10-31). «Microsoft, Zend ускоряют PHP для Windows» . infoworld.com . Проверено 11 февраля 2009 .
- ^ Поттер, Майк (2014-05-21). «Вклад Adobe в поддержку Zend Framework AMF» . Официальный блог команды Flex . Архивировано из оригинала на 2009-02-07 . Проверено 11 февраля 2009 .
- ^ «Избранные партнеры StrikeIron» . Проверено 11 февраля 2009 .
- ^ «О Zend Framework» . Проверено 11 февраля 2009 .
- ^ Зачем использовать Zend Framework? Автор: SuntecOSS, дата обращения 21 апреля 2016 г.
- ^ Apigility Zend, конструктор API с открытым исходным кодом для разработки качественных API, автор SuntecOSS, дата обращения 19 мая 2016 г.
- ^ "Зенд сайт" . Zend.com . Проверено 17 мая 2017 года .
- ^ «Загрузить Zend Studio - IDE, профилировщик PHP, мобильные устройства, модульное тестирование и многое другое» . www.Zend.com . Проверено 17 мая 2017 года .
- ^ «Руководство разработчика Zend Framework» . 1 июля 2006 . Проверено 14 июля 2008 года .
- ^ "Пресс-релиз Simple Cloud API" . Архивировано из оригинала на 1 декабря 2009 года . Проверено 5 ноября 2009 .
- ^ "Сайт Zend Framework" . Проверено 5 ноября 2009 .
- ^ simplecloud.org
- ^ zendframework (28.06.2016). "Zend Framework 3 выпущен!" . Проверено 12 октября 2016 .
- ^ «Zend Framework 2.0.0dev1» . 2010-08-06 . Проверено 4 сентября 2010 .
- ^ «Zend Framework 2.0.0dev2» . 2011-11-03 . Проверено 18 марта 2011 .
- ^ «Выпущен Zend Framework 2.0.0 STABLE! - Zend Framework - Zend Framework» . Framework.zend.com. 5 сентября 2012 . Проверено 14 июня 2013 года .
Внешние ссылки [ править ]
- Официальный веб-сайт
- Zend Framework