Фреймворк HLEB2 реализует определённую структуру директорий проекта, таким образом поддерживая соглашение с разработчиком, в каких директориях хранить настройки и классы, необходимые фреймворку, и позволяет быстро разобраться в структуре этих папок на новом проекте, основанном на фреймворке HLEB2.
На следующей схеме показаны папки нового проекта после установки фреймворка:
Перечисленные на схеме файлы установлены вместе с фреймворком и являются частью его структуры, но предназначены для внесения правок и наполнения разработчиком. Кроме этого, разработчик может далее развивать проект согласно этой структуре, добавляя новые классы, папки, библиотеки и остальное.
В отличии от предыдущей версии фреймворка, теперь появилась новая папка Bootstrap, в которой находятся классы для разработки, привязанные при этом к процессам ядра фреймворка.
С помощью этих классов работа фреймворка избавлена от лишних абстракций, ранее эти классы создавались из конфигурации, а теперь разработчик может напрямую их изменять по своему усмотрению.
Папка app предназначена для кода самого приложения, основанного на фреймворке.
В этой директории содержатся классы для создания контейнера и сервисов, а также другие, являющиеся одновременно классами, код которых можно редактировать, и частями самого фреймворка.
Содержит классы, ответственные за обработку конкретных событий, возникающих при обработке запроса фреймворком.
Включает класс ErrorContent.php для назначения пользовательского контента, возвращаемого при возникновении HTTP-ошибок.
Здесь находятся команды для выполнения из консоли или из кода напрямую. Можно создавать собственные команды, основываясь на шаблоне команды DefaultTask.php. Встроенные команды фреймворка при этом содержатся в коде самого фреймворка.
Папка для контроллеров фреймворка. Шаблон создания контроллера - файл DefaultController.php.
Контроллер — часть архитектуры MVC (Action-Domain-Responder для веб), отвечает за дальнейшее управление обработкой запроса, уже идентифицированного маршрутизатором, но не должен содержать бизнес-логику.
Директория предназначена для контроллеров-посредников (middleware), выполняющихся до или после контроллера, который может быть использован только один в маршруте.
Папка предназначена для классов Моделей.
Модель — ещё одна часть архитектуры MVC (Action-Domain-Responder для веб), отвечающая за данные.
Конфигурация состоит из PHP-файлов, содержащих настройки фреймворка.
Публичная директория. Содержит файл index.php как точку входа для веб-сервера.
Предназначено для различных служебных файлов.
Здесь могут храниться как шаблоны страниц или писем, так и исходники для сборки стилей и скриптов, etc.
Вид (представление) — часть архитектуры MVC (Action-Domain-Responder для веб). Эта папка предназначена для шаблонов веб-страниц. Здесь также могут храниться шаблоны Twig.
Маршрутизация - важная часть любого веб-фреймворка. В этой папке находится файл map.php, содержащий карту маршрутов фреймворка.
Вспомогательные файлы, генерируемые в процессе работы фреймворка.
Права доступа к этой папке должны разрешать полный доступ как веб-серверу, так и разработчику для работы в терминале.
Логи и отчёты об ошибках в стандартизированном формате.
Этот файл без расширения содержит PHP-код и выполняет консольные команды. Например:
$php console --version
Выведет информацию о текущей версии фреймворка.
← Конфигурация фреймворка Запуск на PHP-сервере →