Настройки хранятся в папке application/configs/.
Для удобства разнесены по смыслу в разные файлы:
application.php
cache.php
database.php
...
В общем виде обращение выглядит так:
$setting = Config::<config_name>('setting.name.dot.separated'[, <default_value>]);Например для обращения к значению настройки debug из файла application.php:
if (Config::application('debug')) {
}или для получения настройки folder из log.php:
$logFolder = Config::log('folder');Для получения вложенной настройки используется точка:
$mysqlConnectionSettings = Config::database('connection.mysql'); // вернёт массив (как это прописано в database.php)или ещё глубже:
$mysqlPassword = Config::database('connection.mysql.password');Если какая-то настройка не обязательна, то для указания значения по умолчанию укажите его вторым параметром:
$encoding = Config::application('encoding', 'utf-8');Часто требуется установить свои настройки для локальной машины разработчика или для production сервера.
Для этого создайте папку local/ внутри application/configs/ (или скопируйте её из папки local.example)
и расположите в ней те файлы, которые вы хотите кастомизировать.
Указывать в этих файлах стоит только те настройки, которые нужно переопределить.
// /application/configs/local/application.php
return [
'debug' => true,
'domain' => 'my-domain.local',
];Остальные настройки будут использоваться из основного файла.
Храните папку
local.example(и поддерживайте в актуальном состоянии) в вашей VCS (системе контроля версий) как подсказку для вас и вашей команды какие настройки следует указать для работы проекта на локальной машине. Если вы добавляете какие-то настройки, которые будут специфичны для каждого разработчика, то укажите их вlocal.exampleи ваша команда будет вам благодарна.