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

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

Zend Framework 3 перенаправление страницы из модуля приложения

Задача: если не установлены куки, перенаправить пользователя на страницу авторизации, вне зависимости от первоначальной точки входа в приложение

Решение: про первой инициализации модуля, создаем событие onDispath, в котором смотрим куки, и если они нас не устраивают — меняем шаблон и перенаправляем на другой контроллер:

 

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 12 13 14 15 16 25