Архитектура
Фреймворк использует компактную структуру: основной код находится в каталоге www/, а дополнительные
настройки и данные вынесены в корень проекта. Ниже перечислены ключевые файлы и директории.
Корень проекта
| Объект | Назначение |
|---|---|
.htaccess |
Правила Apache: - кодировка по умолчанию UTF-8; - отключён листинг каталогов; - разрешены симлинки; - задан индексный файл index.php;- указана стандартная страница 404.php;- отключён вывод PHP-ошибок; - включено логирование PHP-ошибок в /storage/logs/php_errors.log;- все запросы, которые не совпали с реальным файлом или директорией, перенаправляются в index.php.
|
.env |
Файл переменных окружения, например:
APP_URL,
PDO_USER,
PDO_PASSWORD,
FROM_MAIL
и т.д.
|
index.php |
Точка входа приложения и инициализация окружения. |
routes.php |
Объявление Web- и API-маршрутов. |
404.php |
Страница для ответов с кодом 404. |
robots.txt |
Настройки индексации для поисковых роботов. |
sitemap.xml |
Карта сайта. |
app/ |
Основной код ядра. |
config/ |
Конфигурационные файлы. |
storage/ |
Локальное хранилище файлов приложения. |
Каталог app/
| Объект | Назначение |
|---|---|
| Start/ | |
Loader.php |
Регистрация автозагрузчика классов. |
| Base/ | |
Interfaces/Resource.php |
Интерфейс для контроллеров с CRUD-методами. |
Interfaces/Response.php |
Интерфейс для типов HTTP-ответов. |
Interfaces/Url.php |
Контракт для работы с URL. |
Traits/SecurePassword.php |
Внутренний трейт для хеширования и проверки паролей. |
| Http/ | |
Server.php |
Работа с адресом текущего запроса. |
Request.php |
Работа с входящим HTTP-запросом. |
Response.php |
Формирование HTTP-ответа. |
Response/Result.phpResponse/Error.php |
Типы ответов с ключами result и error. |
Route.php |
Объявление Web-маршрутов. |
Api.php |
Объявление API-маршрутов. |
Client/Curl.php |
HTTP-клиент на базе cURL. |
Cookie.php |
Работа с cookie. |
Session.php |
Работа с сессиями. |
| Helpers/ | |
Code.php |
Генератор числовых кодов по маске. |
Hash.php |
Генератор строковых хешей. |
Token.php |
Генератор токенов. |
Email.php |
Проверка и нормализация email-адресов. |
Phone.php |
Подготовка телефонных номеров к сохранению и выводу. |
| DataBase/ | |
PDO.php |
Расширение стандартного PDO дополнительными возможностями. |
| Lang/ | |
Loc.php |
Загрузка и получение локализованных сообщений. |
| Mail/ | |
Mail.php |
Формирование и отправка писем. |
Template.php |
Работа с HTML-шаблонами писем. |
| Storage/ | |
Base/Directory.php |
Работа с директориями. |
Base/File.php |
Работа с файлами. |
Image.php |
Работа с изображениями. |
| Прочее | |
constants.php |
Глобальные константы приложения. |
functions.php |
Подключение базовых и вспомогательных функций. |
init.php |
Пользовательский файл инициализации. |
composer.json |
Список Composer-зависимостей. |
composer.lock |
Зафиксированные версии установленных пакетов. |
functions/ |
Базовые и вспомогательные функции. |
vendor/ |
Установленные Composer-пакеты. |
Каталог config/
| Объект | Назначение |
|---|---|
loader.php |
Правила автозагрузки классов. |
site.php |
Базовые параметры приложения. |
database.php |
Параметры подключения к базе данных. |
mail.php |
Параметры отправки электронной почты. |
storage.php |
Параметры локального файлового хранилища. |
Каталог storage/
| Объект | Назначение |
|---|---|
templates/mail/ |
HTML-шаблоны электронных писем. |