SiteOptions


SiteOptions предоставляет доступ к глобальным настройкам сайта.

Поддерживает

  • получение глобальной настройки по имени
  • указание значения по умолчанию
  • безопасную работу с отсутствующими настройками

Класс статический и автоматически доступен после запуска CMS. Создавать его экземпляр не нужно.

Быстрый старт

php
$siteName = SiteOptions::get('sitename');
$description = SiteOptions::get('description');

Для отсутствующей настройки можно указать значение по умолчанию:

php
$siteName = SiteOptions::get(
    'sitename',
    'Мой сайт'
);

Получение настройки

get(string $name, string $default = ''): string

Возвращает значение глобальной настройки.

Параметр Описание
$name Имя настройки.
$default Значение, возвращаемое при отсутствии настройки.
php
$debug = SiteOptions::get('debug');

if ($debug === 'on') {
    echo 'Режим разработки включён';
}

Если настройка существует, но содержит пустую строку, метод возвращает пустую строку, а не значение по умолчанию.

Допустимые имена

Имя настройки может содержать:

  • латинские буквы
  • цифры
  • дефис
  • нижнее подчёркивание

Первым символом должна быть буква или цифра.

При недопустимом имени метод выбрасывает InvalidArgumentException:

php
try {
    $value = SiteOptions::get('invalid option');
} catch (InvalidArgumentException $exception) {
    echo $exception->getMessage();
}

Важные замечания

  • метод всегда возвращает строку
  • класс предназначен только для чтения настроек
  • изменение полученного значения не сохраняет настройку
  • не создавайте экземпляр SiteOptions
  • вызывайте класс только после запуска CMS
  • для текущего URL используйте CurrentUrl
  • для текущего языка используйте CurrentLanguage
  • для активной темы используйте CurrentTheme