Админка

Всем добрый вечер :) Вообщем столкнулся со следующей проблемой. Нужно хранить настройки приложения в БД и выводить их значения в файле config.php. К примеру

‘basePath’=>dirname(FILE).DIRECTORY_SEPARATOR.’…’,

'name'=> [b]$name[/b],


'language'=>[b]$lang[/b], и т.д. 

День убил, результата ноль, подскажите пожалуйста как это реализовать :blink:

Наверное, лучше не выводить в основном конфиге, а переопределять в отдельном, который уже инклюдится в основной.

Ну, по тому же принципу, как создается локальный конфиг, только файл создавать прямо из админки.

Настройки БД хранятся в отдельном файле и подключаются так в main.php:


'db'=>require('db.php'),

файл db.php лежит там же, где и main.php


return array(

    'connectionString'=>'mysql:host=localhost;dbname=dbname',

    'username'=>'',

    'password'=>'',

    'charset'=>'utf8',

    'schemaCachingDuration'=>3600,

);

ORey, спасибо, но пример реализации бы :)

tuschkan, вы меня не совсем правильно поняли, мне нужно не выносить настройки БД, а именно хранить значения конфига в БД, чтобы не лазить в код, а менять их с админки можно было :)

Что-нибудь типа


$main = require(PROTECTED_PATH . 'config/main.php');

$dynamic = require(PROTECTED_PATH . 'config/dynamic.php');


Yii::createWebApplication(CMap::mergeArray($main, $dynamic))->run();

Это всё идет в index.php.

В файле main.php лежат неизменяемые настройки и, к примеру, какие-нибудь разумные умолчания.

Файл dynamic.php пересоздается при нажатии кнопки "сохранить" в админке, и содержит в себе переопределяющие настройки приложения.

Как из приложения создать файл необходимой структуры, думаю, знаете.

А вообще, я почти уверен, что где-нибудь лежит готовый экстеншн, стоит только погуглить.

Окей, спасибо, попробую :)

Статья на хабре про то, что вам нужно реализовать - habrahabr.ru/post/172737

Спасибо, но кода многовато, хочется чего-то простого, ведь по сути чего нужно:

Есть форма для редактирования, к примеру:

Заголовок - сайта заголовок

Описание - описание

Пароль к админке - пароль

Вот буквально эти три значения и нужно хранить в БД.

И выводить их значения в файле main.php через переменные к примеру

‘name’=>$name,

‘language’=>$lang, и т.д.

Неужели нет простого способа это делать :)

Кстати, я в начале немного ошибся, конечно же файл main.php, а не config.php :unsure: