Включение / отключение модулей

Хочу поинтересоваться - может кто-то подскажет каким образом можно просто включать и отключать модули в сайте?

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

Сейчас же надо по меньшей мере править в конфиге 'modules' => array(), 'import'=>array(), да и каждый модуль еще несет с собой обычно немало 'rules'=>array() из UrlManager…

Ну есть простое изящное решение - создать табличку со списком модулей - там и управлять всеми модулями, как угодно  :-\

пока не совсем понятно как таблицу завязать с конфигом…  ???

ни у кого нет идей?  :(

сделать свой конфигаратор, который будет настройки хранить в базе данных?

так, а принципиальная разница в файле или в БД?

Quote

сделать свой конфигаратор, который будет настройки хранить в базе данных?

Это можно сделать, если создать свой класс Yii(потомок YiiBase) и перегрузить в нем метод createWebApplication(), если исходить из того, как это было задумано в фреймворке.

… но зачем оно мне надо?

то ли меня игнорируют, то ли никто с проблемой не сталкивался  :(

Я вам выше ответил, как это сделать штатным способом.

Я это понимаю, но в упор не понимаю чем мне это поможет?

тем что конфиг сможете динамически создавать к примеру и отключать\включать в нем то что вам надо.

Т.е. выгрузить весь hard-config (это у меня так называется конф, который от CWebApplication с настоойками БД, путей и т.д.) в базу данных, то будет мне щастье?)

А как быть с тем, что настройки БД в конфиге, а конфиг в БД?

Нет нигде howto как перевести конфиг с файла на базу?

Нет, по той причине, что это частное решение. Весь конфиг выгружать в базу смысла нет. Нужно вынести в базу только ту информацию, которая должна динамически меняться на протяжении жизни приложения. Остальная низкоуровневая и фундаментальная конфигурация(настройки БД и т.д.) должна храниться в файле.

Получается, в БД я вынесу настройки путей + пару строк для импорта компонентов. Насколько хорошо что uri rules будут в базе? я встречал движки которые так делают. По скорости я проиграю или наоборот?

И все таки есть ли какой-то туториал? Не нашел что-то.

Нет туториала по данному решению т.к. вы будете первый кому это надо на Yii

Нашел решение, но пока не знаю как осуществить до конца, буду рад если кто-то даст дельный совет:

В index.php есть основной конфиг - для основного приложения он представляет из себя файл php который возвращает массив, это все знают, думаю.

Я сделал подобные файлы для модулей, но только с теми ключами массива конфига, которые присущи данному модулю: только его uri правила, только его автоимпорт и т.д.

Конечная цель - надо сделать array_merge_recursive этих конфигов и основного, т.к. функция инициализации приложения принимает 1 аргумент - config. Т.е. мне надо запустить сайт с конфигом уже расширенным с учетом подключенных модулей. Это я делаю пробегаясь рекурсивно по директории с модулями и ищу файлы конфигов.

Т.е. я вроде бы понимаю, что мне их надо всех проинклюдить и как-то слить воедино, но как - может кто подскажет? Спасибо. 4 час сижу пыхчу, мозги сплавились

to Hitman

читайте статью на моем блоге которая полностью описывает ваш случай http://dbhelp.ru/man…iguration/page/

Спасибо, думал что близок к истине - ан нет, там происходит подцепление одного файла с конфигом дополнительного, а у меня речь идет о неизвестном заранее их кол-ве, ведь оно известно только после обхода директории с модулями и нахождения там конфига нужного.  :(

Вроде все сделал как мне надо, но столкнулся с проблемой: вызываю в дополнительном конфиге return CMap - Fatal error: Class 'CMap' not found in S:\home\demo.stlanik.local\htdocs\protected\modules\advertisements\conf_advertisements.php on line 3

Он его не видит. Пробовал подключить его через require, он потребовал еще один класс. Мне кажется это не самое правильное решение будет. если я нацепляю кучу нужных классов.