styleroom
(Styleroom)
September 12, 2013, 8:11am
1
всем привет
ввиду разрастания конфига, возникло желание разбить его на несколько частей
вопрос: как это правильно сделать, если составные части добавляются в разные части/ключи основного результирующего конфиг-массива?
в отдельных частях массив должен быть внутри конструкции return array ?
очень нужен хелп
ineersa
(Ineersa)
September 12, 2013, 8:26am
2
Довольно просто. Например есть конфиг с параметрами приложения, и мы хотим слить его с main:
return CMap::mergeArray(require(dirname(__FILE__).'/main.php'), array(
'name' => 'TEST',
'params' => array(
'adminEmail' => 'asas@asd.ads',
'phoneNumber' => '555-555-555',
'motto' => 'TEST',
),
));
Подключаем сей конфиг - и радуемся.
Кукбук рекомендует именно CMap::mergeArray, но возможно и использование array_replace_recursive.
styleroom
(Styleroom)
September 12, 2013, 8:50am
3
а такая схема =
<?php
return array(
...
'controllerMap'=>require(dirname(__FILE__).'/conf_controllerMap.php'),
...
'components'=>array(
...
'urlManager'=>require(dirname(__FILE__).'/conf_urlManager.php'),
...
),
'params'=>require(dirname(__FILE__).'/conf_params.php'),
);
mihail_dev
(Mihail Cucer)
September 13, 2013, 12:38pm
4
styleroom:
а такая схема =
<?php
return array(
...
'controllerMap'=>require(dirname(__FILE__).'/conf_controllerMap.php'),
...
'components'=>array(
...
'urlManager'=>require(dirname(__FILE__).'/conf_urlManager.php'),
...
),
'params'=>require(dirname(__FILE__).'/conf_params.php'),
);
Я реализовывал такую схему(точнее по большей части урл менеджер и модули), она удобна если ты хочешь реализовать редактирование настроек через веб интерфейс.
то есть ты заранее знаеш в каком файле что лежит где и как всё складывать надо!
Но при работе с проектами в которых в этом нет необходимости это только усложнит управление настройками
Как показано в кукбук есть файл по умолчанию (main.php) и уже есть фалы непосредственно используемые в приложении довольно удобно в main.php вносятся все общие настройки а в фаилы приложения уже непосредственно доп настройки именно для данного приложения!
ineersa
(Ineersa)
September 13, 2013, 12:47pm
5
Кстати для редактирования настроек из веб интерфейса открыл для себя http://www.yiiframework.com/extension/app-manager/ , после того как сделал свой велосипед.
А так да, такой вариант может усложнить жизнь.
P.S. Всех с праздником!
styleroom
(Styleroom)
September 16, 2013, 5:26am
6
не знаю… мне понравилось…
есть возможность управлять каждым смысловым сегментом конфига
p.s. может я ишшо маленький и многого не понимаю?