Конфигурация
Конфигурация фреймворка хранится в каталоге config/. Здесь задаются параметры приложения, подключения к
базе данных, почты, хранилища и автозагрузчика.
loader.php
Файл config/loader.php содержит карту пространств имён для автозагрузчика
app/Start/Loader.php.
$_ENV['LOADER_ASSOC_NAMESPACE_DIRECTORY'] = [
'App' => 'app',
'Database' => 'db',
];
В этом примере классы из пространства имён App будут искаться в каталоге app, а классы из
пространства имён Database — в каталоге db.
site.php
Файл config/site.php хранит общие параметры приложения. Например, в нём можно задать базовый адрес сайта
через ключ APP_URL.
database.php
Файл config/database.php содержит параметры подключения к базе данных:
PDO_TYPE— драйвер базы данных, напримерmysql;PDO_HOST— хост базы данных, напримерlocalhost;PDO_PORT— порт базы данных, например3306;PDO_NAME— имя базы данных, напримерapp;PDO_CHARSET— кодировка соединения, напримерutf8;PDO_USER— имя пользователя, напримерroot;PDO_PASSWORD— пароль пользователя;DB_WAIT_TIMEOUT— таймаут ожидания неактивного соединения в секундах;PDO_OPTIONS— дополнительные настройки PDO.
Пример типичных значений в PDO_OPTIONS:
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION— выбрасывать исключения при ошибках;PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC— возвращать записи как ассоциативные массивы;PDO::ATTR_EMULATE_PREPARES => true— включить эмуляцию prepared statements.
mail.php
Файл config/mail.php задаёт параметры исходящей почты:
FROM_MAIL— адрес отправителя;REPLY_TO_MAIL— адрес для ответных писем.
storage.php
Файл config/storage.php управляет локальным хранилищем файлов:
STORAGE_ROOT_PATH— базовый путь, например/storage/;STORAGE_DIR_PERMISSIONS— права доступа для новых директорий, например0755;STORAGE_FILE_PERMISSIONS— права доступа для новых файлов, например0644.
Файл .env
Значения из конфигурационных файлов можно переопределить в .env:
APP_URL = http://localhost:8001
PDO_TYPE = mysql
PDO_HOST = db
PDO_PORT = 3306
PDO_NAME = app
PDO_CHARSET = utf8mb4
PDO_USER = root
PDO_PASSWORD = root
DB_WAIT_TIMEOUT = 300
FROM_MAIL = app@mail.ru
REPLY_TO_MAIL = noreply@mail.ru
STORAGE_ROOT_PATH = /storage/