Настройки приложения

За управление (добавление / редактирование) настройками приложения отвечает класс config. Все методы данного класса статические.

Настройки сайта

Под настройками сайта понимаются настройки доступные для редактирования через формы в админ. панели. Управление данными настройками происходит через следующие методы класса config:

config::get - получение настройки (нескольких настроек) по ключу

config::set - изменение настройки (нескольких настроек) по ключу без сохранения, только в рамках текущего запроса

config::save - сохранение настройки (нескольких настроек) по ключу с сохранением

При работе с настройкам сайта, связаными с конктретным модулем приложения, в компоненте Module предусмотрены методы для пакетной загрузки и сохранения настроек данного модуля:

$this->configLoad - получение всех настроек модуля

$this->configSave - сохранение настроек модуля по ключу (одной или нескольких)

Тип настроек

Настройки сайта бывают двух типов: статические и динамические.

Статические настройки кешируются и берутся из кеша до момента изменения данных настроек через формы в админ-панели либо при вызове метода save.

Динамические настройки загружаются при каждом запросе, в основном данный тип успользуется для хранения разного рода счетчиков, к примеру счетчика "непромодерированных комментариев".

Для работы с ними в методах указанных выше необходимо задействовать параметр $dynamic. Дополнительно доступен метод config::saveCount для возможности обновление значения счетчика по ключу.

Хранение настроек сайта выполняется в таблице TABLE_CONFIG, а также кешируется в файле.

Системные настройки

Под системными настроками понимаются настройки не подразумевающие редактирования через админ-панель и настраиваемые единожды при установке приложения на сервере.

Хранение данных настроек выполняется в файле /config/sys.php. Изменение настроек осуществляется путем редактирования данного файла. Для доступа к ним предусмотрен метод:

config::sys - получение системной настройки (нескольких настроек) по ключу/префиксу ключа

В системных настройках указывается домен проекта, доступ к базе данных, настройки работы с почтой, настройки локализации и другие.

При настройке проекта на сервере рекомендуется ограничивать права на запись к файлу из php.

Множество настроек, таких как например количество записей в списках или же пре-/постмодерация настраивается в разделе "Настройки сайта / Системные настройки", по коду они обычно выглядят подобным образом:

config::sysAdmin('contacts.captcha', true, TYPE_BOOL);

Настройки авторизации через социальные сети

Настройки взаимодействия с социальными сетями указываются в админ-панели в разделе
"Настройки сайта / Системные настройки / Пользователи / Социальные сети"