Любая система работает с некоторыми настройками. Если Ваша система не имеет параметров — она деревянная.
- Ядру CMS нужны настройки;
- Настройки нужно где-то хранить;
- Настройки должны иметь удобочитаемый формат для правки, в экстренных случаях, руками;
- Кроме ядра, параметры могут иметь и каждый модуль CMS;
- Каждый имеющий параметры модуль, не должен заботиться о том, в каком виде хранятся параметры и где они хранятся;
- Ядро должно предоставлять строго определенный интерфейс для работы с параметрами любого модуля и отдельно — работу со своими параметрами (на случай модуля настройки ядра).
Спасибо, КЭП.
Основные моменты ясны. Теперь нужно обсудить решение.