К содержанию
Meduza
Документация

Архитектура

Фреймворк использует компактную структуру: основной код находится в каталоге 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.php
Response/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-шаблоны электронных писем.