Документация/Контейнер/Сервисы/Settings

Settings

При помощи сервиса Settings можно получить стандартные или пользовательские настройки фреймворка из файлов папки /config/.

Способы использования Settings в контроллерах (и всех классах, унаследованных от Hleb\Base\Container) на примере получения заданного часового пояса из файла /config/common.php:

// variant 1
use Hleb\Reference\SettingInterface;
$timezone $this->container->get(SettingInterface::class)->getParam('common''timezone');

// variant 2
$timezone $this->container->settings()->getParam('common''timezone');

// variant 3
$timezone $this->settings()->getParam('common''timezone');

Пример обращения к Settings в коде приложения:

// variant 1
use Hleb\Static\Container;
use 
Hleb\Reference\SettingInterface;
$timezone Container::get(SettingInterface::class)->getParam('common''timezone');

// variant 2
use Hleb\Static\Settings;
$timezone Settings::getParam('common''timezone');

// variant 3
$timezone config('common''timezone');

Также объект Settings может быть получен через внедрение зависимостей по интерфейсу Hleb\Reference\Interface\Setting.

Настройки разделены на четыре группы: 'common', 'main', 'database' и 'system'. Они соответствуют файлам настроек из папки /config/. Если используется другой файл, например 'main-local.php' вместо 'main.php', то настройку в любом случае нужно получать по названию 'main'.

Методы сервиса - common(), main(), database() и system() позволяют получить параметр из соответствующих настроек. Например:

use Hleb\Static\Settings;

$timezone Settings::common('timezone');
Router Защита от CSRF

Страница создана: @fomiash
К началу страницы