Настройки приложения
За управление (добавление / редактирование) настройками приложения отвечает класс 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);
Настройки авторизации через социальные сети
Настройки взаимодействия с социальными сетями указываются в админ-панели в разделе
"Настройки сайта / Системные настройки / Пользователи / Социальные сети"