Отдаем Json в ответе на запрос страницы

Контроллер можно оформить например так:

Создание помошника (View Helper) для Zend Framework 3

Задача: естественным для Zend Framework способом выводить в шаблоне phtml некий HTML текст генерируемый на сервере.

Решение: создадим helper (помошник вида), на примере вывода каких то сообщений пользователю.

1) В настройках модуля анонсируем помошника:

2) Создаем класс /module/Application/src/View/Helper/Messages

3) В нутри шаблона layout.phtml теперь можно написать чтото вроде:

Zend Framework 3 получение конфигурации приложения из контроллера

Казалось бы простая вещь, а телодвижений много. Странно. Но тем не менее, решение есть.

Конфигурация приложения:

Создаем  фабрику IndexControllerFactory.php:

В конфигурации модуля:

В контроллере:

 

Минимальный скелет приложения для Zend Framework 3

Решил попробовать не собирать каждый раз при старте нового проекта свой «каркас» приложения, а взять  уже готовый фреймворк в стиле MVC и попробовать использовать его. Пока выбор пал на Zend Framework, потому что там похоже действительно самый минимум. Он не «раздутый», который для использования не требует недель изучения для «старта» (типа YII).  С фреймворком,в базе для первоначального обучения идет «штатный минимальный шаблон»  : https://github.com/zendframework/ZendSkeletonApplication, но мне он  тоже показался слишком усложненным. Потому в ходе «упрощения» создал свой:

https://github.com/donpadlo/zend3skeleton

, который при помощи composer позволяет установить фреймворк, и позволяет поддерживать актуальными дополнительные компоненты типа jquery, bootstrap4 и т.д.

Кроме того, из штатного «скелета» вырезан лишний код, который усложняет первоначальное понимание принципов работы Zend Framework

В шаблоне так-же рассмотрен вариант использования двух контроллеров, а не одного как в «базе» (в реальных проектах число контроллеров стремится к увеличению)

 

Использование Composer в проектах на PHP

Composer — это менеджер внешних библиотек для вашего проекта. Например, если вы используете jquery, jqueryui, какие-то другие библиотеки, то для того чтобы не тащить их при переносе проекта, не следить за их обновлением и актуальностью, достаточно использовать Composer. При новой инсталляции проекта достаточно будет выполнить

для генерации начального composer.json  (создание нового проекта) достаточно выполнить:

добавить нужные пакеты в папку vendor можно:

Обновить пакеты можно:

Ну и далее как использовать в своем коде PHP:

 
Или JS:
 

Ну и в догонку. Если у вас из проекта нет доступа к папке vendor, а нужно для использования например css и js непосредственно на странице, можно сделать симлинк, например что-то вроде:

 

1 23 24 25 26 27 52