Установка
Новый проект не собирают по одному пакету. Есть готовая заготовка — laminas-mvc-skeleton: в ней уже разложены папки, настройки и первая страница. Понадобятся PHP 8.1 или новее и Composer — программа, которая скачивает PHP-пакеты.
Создание проекта
Откройте терминал в папке, где хранятся ваши проекты, и выполните:
composer create-project -s dev laminas/laminas-mvc-skeleton blogComposer создаст папку blog и скачает в неё заготовку вместе с пакетами фреймворка.
Вопросы установщика
Во время установки появятся вопросы:
| Вопрос | Что ответить |
|---|---|
Do you want a minimal install? | Y — поставить только основу; остальные пакеты добавим по ходу курса |
Please select which config file you wish to inject ... into | 1 — файл config/modules.config.php |
Remember this option for other packages of the same type? | Y — не спрашивать повторно |
Второй вопрос задаёт установщик компонентов. Многие пакеты Laminas нужно не только скачать, но и вписать в список модулей приложения, и установщик делает это за вас.
Запуск
Перейдите в папку проекта и запустите встроенный сервер PHP:
cd blog
composer serveКоманда composer serve — короткая запись для php -S 0.0.0.0:8080 -t public. Откройте в браузере http://localhost:8080 — появится страница приветствия Laminas. Сервер останавливают сочетанием клавиш Ctrl+C.
Режим разработки
Сразу включите режим разработки:
composer development-enableВ этом режиме вместо общей надписи об ошибке видны её текст и место в коде, а настройки не кешируются. Проверить текущее состояние можно командой composer development-status, выключить — composer development-disable. Подробнее об этом режиме — в уроке о настройках.
Что уже работает
После установки в проекте есть один модуль — Application — с главной страницей. Её текст лежит в файле module/Application/view/application/index/index.phtml. Измените в нём любой заголовок и обновите страницу в браузере: изменение появится сразу.
Частая ошибка
Встроенный сервер нужно запускать так, чтобы корнем сайта была папка public. Если запустить php -S localhost:8080 из корня проекта без -t public, браузер покажет список файлов или ошибку 404, а файлы настроек с паролями окажутся доступны по прямой ссылке. Используйте composer serve: в нём путь уже указан верно.