Управление модулями

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Begemot
Сообщения: 34
Зарегистрирован: 2013.10.30, 16:14

Управление модулями

Сообщение Begemot »

Есть идея реализовать управление модулями из WEB (захотел включил модуль захотел выключил), понятно что нужно будет обработать все вызовы модуля и т.п. есть ли готовые реализации такого механизма?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Управление модулями

Сообщение samdark »

понятно что нужно будет обработать все вызовы модуля и т.п.
Какие вызовы имеются ввиду?
Аватара пользователя
Begemot
Сообщения: 34
Зарегистрирован: 2013.10.30, 16:14

Re: Управление модулями

Сообщение Begemot »

Ну например если есть ссылка на action из модуля нужно завернуть ее в код который проверит, активен или нет модуль и отобразит ее при необходимости, думаю это можно реализовать через helper, на подобии того как это реализуется в случае с RBAC.

Думаю можно сделать следующим образом: в бд положить список модулей с состояниями (активен/не активен), настройки и подключение оставить в конфиг файле. Далее в бутсрап прописать механизм который будет из конфига удалять, не активные модули. Плюс хелпер для обработки ссылок и прочих визуальных элментов.
Либо хранить все настройки модулей в БД в сериализованом виде и добавлять в конфиг в бутсрапе, данный вариант позволит при желании сделать возможность менять настройки модуля из web.
Я склоняюсь ко второму варианту, так как он будет работать быстрее на мой взгляд.
Prosto_Tok
Сообщения: 132
Зарегистрирован: 2015.09.30, 20:12

Re: Управление модулями

Сообщение Prosto_Tok »

Begemot писал(а):Ну например если есть ссылка на action из модуля нужно завернуть ее в код который проверит, активен или нет модуль и отобразит ее при необходимости, думаю это можно реализовать через helper, на подобии того как это реализуется в случае с RBAC.

Думаю можно сделать следующим образом: в бд положить список модулей с состояниями (активен/не активен), настройки и подключение оставить в конфиг файле. Далее в бутсрап прописать механизм который будет из конфига удалять, не активные модули. Плюс хелпер для обработки ссылок и прочих визуальных элментов.
Либо хранить все настройки модулей в БД в сериализованом виде и добавлять в конфиг в бутсрапе, данный вариант позволит при желании сделать возможность менять настройки модуля из web.
Я склоняюсь ко второму варианту, так как он будет работать быстрее на мой взгляд.
Не стремись усложнять себе жизнь =)
Проверка доступности модуля проверяется не в Action, а при инициализации модуля (надеюсь правильно сказал).
В методе init() можно проверять доступность модуля, а также записывать информацию о текущем модуле если ее нету в таблице.

Структура таблицы очень простая
ID
MODULE
ACTIVE
DATE_CREATED(опционально)
DATE_UPDATED(опционально)
Аватара пользователя
Begemot
Сообщения: 34
Зарегистрирован: 2013.10.30, 16:14

Re: Управление модулями

Сообщение Begemot »

Prosto_Tok писал(а):Не стремись усложнять себе жизнь =)
Проверка доступности модуля проверяется не в Action, а при инициализации модуля (надеюсь правильно сказал).
В методе init() можно проверять доступность модуля, а также записывать информацию о текущем модуле если ее нету в таблице.

Структура таблицы очень простая
ID
MODULE
ACTIVE
DATE_CREATED(опционально)
DATE_UPDATED(опционально)
Хороший вариант, что касается проверки в Action, тут имелось ввиду Action других модулей или основной шаблон сайта где есть меню и кнопки с сыолками на Action разных модулей которые могут быть не доступны и не должны отображаться.
Ответить