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

Конфигурация

Конфигурация фреймворка хранится в каталоге 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/