Yii Framework Forum: Включение / отключение модулей - Yii Framework Forum

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Включение / отключение модулей Rate Topic: -----

#1 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 15 April 2009 - 12:34 PM

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

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

#2 User is offline   demetrius 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 16
  • Joined: 15-April 09
  • Location:Ukraine, Zhitomir

Posted 15 April 2009 - 12:39 PM

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

#3 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 15 April 2009 - 01:05 PM

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

#4 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 16 April 2009 - 04:11 AM

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

#5 User is offline   demetrius 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 16
  • Joined: 15-April 09
  • Location:Ukraine, Zhitomir

Posted 16 April 2009 - 04:25 AM

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

#6 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 16 April 2009 - 11:20 PM

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

#7 User is offline   creocoder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 199
  • Joined: 09-March 09
  • Location:*.php

Posted 17 April 2009 - 10:50 PM

Quote

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

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

#8 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 18 April 2009 - 12:10 PM

... но зачем оно мне надо?
0

#9 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 20 April 2009 - 03:36 PM

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

#10 User is offline   creocoder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 199
  • Joined: 09-March 09
  • Location:*.php

Posted 20 April 2009 - 04:13 PM

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

#11 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 21 April 2009 - 01:04 AM

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


0

#12 User is offline   Zolter 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 377
  • Joined: 26-March 09

Posted 22 April 2009 - 09:08 AM

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

#13 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 22 April 2009 - 12:17 PM

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

А как быть с тем, что настройки БД в конфиге, а конфиг в БД?
Нет нигде howto как перевести конфиг с файла на базу?
0

#14 User is offline   creocoder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 199
  • Joined: 09-March 09
  • Location:*.php

Posted 22 April 2009 - 05:25 PM

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

#15 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 23 April 2009 - 12:11 AM

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

#16 User is offline   Zolter 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 377
  • Joined: 26-March 09

Posted 23 April 2009 - 01:29 AM

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

#17 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 17 May 2009 - 12:38 PM

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


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

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

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

#18 User is offline   Zolter 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 377
  • Joined: 26-March 09

Posted 17 May 2009 - 01:00 PM

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

#19 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 17 May 2009 - 01:45 PM

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

#20 User is offline   Hitman 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 95
  • Joined: 08-February 09
  • Location:Russia, Petrozavodsk

Posted 19 May 2009 - 01:16 AM

Вроде все сделал как мне надо, но столкнулся с проблемой: вызываю в дополнительном конфиге 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, он потребовал еще один класс. Мне кажется это не самое правильное решение будет. если я нацепляю кучу нужных классов.
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users