Конфигурация приложения в бд

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
german.igortcev
Сообщения: 225
Зарегистрирован: 2014.08.18, 14:01

Конфигурация приложения в бд

Сообщение german.igortcev » 2014.12.23, 17:04

Подскажите по реализации или ссылкой на мануал.

Хранение настроек приложения в бд

Аватара пользователя
vitalik1183
Сообщения: 1673
Зарегистрирован: 2014.07.01, 08:42

Re: Конфигурация приложения в бд

Сообщение vitalik1183 » 2014.12.23, 17:32

Как вариант http://www.elisdn.ru/blog/21/yii-i-hran ... aze-dannih
Правда там под 1 ветку, но думаю, переписать под 2 не составит труда.
Yii2!

Аватара пользователя
kosenka
Сообщения: 676
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: Конфигурация приложения в бд

Сообщение kosenka » 2014.12.23, 17:36

german.igortcev писал(а):Подскажите по реализации или ссылкой на мануал.

Хранение настроек приложения в бд
В одном проекте для Yii 1.1.16 сделал примерно так:

в файле /protected/componets/Controller.php прописываем:

Код: Выделить всё

        public function init()
        {
            $options = Yii::app()->cache->get('options'); // ищем в кеше
            if($options === false) // в кеше его нет
            {
                $options = CHtml::listData(Option::model()->findAll(), 'type', 'value');
                Yii::app()->cache->set('options', $options, 0);//кешируем на неограниченный срок
            }
            Yii::app()->params['options'] = $options;// потом можно использовать так: Yii::app()->params['options']['НАШ_ПАРАМЕТР'];
            return parent::init();           
        }
модель Options:

Код: Выделить всё

        public static function saveConfig($type, $value)
        {
            Yii::app()->db->createCommand("REPLACE into {{option}} (type,value) values (:type,:value)")->execute(array(':type'=>$type,':value'=>$value));
        }
Ну а форму с полями, надеюсь, напишешь сам.

Вот, как-то так.
Портфолио: viewtopic.php?f=11&t=8612
Email: kosenka@gmail.com
Skype: kosenka (в сети с 9 до 18 по Москве)
Web: http://kosenka.ru

Ответить