home chevron_right
Фокус глубины: наследование site/section/page/user, `.framework.config.php`/`.demo.config.php`, property overrides, пример get/set через классы Configuration

В SF4 “настройки” и “конфигурации” — это два слоя, которые постоянно работают вместе:

  1. Конфигурация (schema) — описывает какие поля вообще есть, как они сгруппированы, какие у них типы ввода, значения по умолчанию и т.п. Этот слой нужен редакторам (админ-формам/публичным формам), чтобы построить UI.

  2. Значения (values / property) — конкретные значения, которые выбрал администратор/пользователь. Этот слой хранится как PHP-массивы и читается/переопределяется на разных уровнях (сайт → раздел → страница → пользователь).

Отдельно стоит уровень фреймворка: системные параметры (например, SMTP и “пути к конфигам”), которые живут в /simai/config/.framework.config.php и читаются через SIMAI\Main\Configuration\Framework. Внутри файла значения хранятся в виде структуры ["value" => ..., "readonly" => bool], а запись учитывает флаг readonly (обычная запись не перезаписывает “закрытые” параметры).

Файл .demo.config.php относится к “schema” демо-режима: он описывает поля демо-настроек для формы, а сами значения демо-настроек в типовом сценарии держатся на пользовательском (session) уровне через SIMAI\Main\Configuration\Property (storageId обычно "user").