yii framework main.php在params中使用其他数组的变量

时间:2013-07-01 09:37:24

标签: arrays yii params

我想做以下事情: 在main.php params部分中创建一个数组,该数组使用params部分中另一个数组的值。 我怎么能这样做?

尝试过这样的事情:

'params'=>array(

    //service types constants
    'service_types'=>array(
    'st_defect'=>1,
    'st_retour'=>2,
    'st_order'=>3,
    ),

//open times of department 0=monday
    'st_open'=>array(
    **service_types['st_retour']**=>array(
                              0=>array(800,1700),   
                              1=>array(800,1700),   
                              2=>array(800,1700),   
                              3=>array(800,1700),
                              4=>array(800,1700),
            ),  
        ),

), //end params array

**之间的部分需要指向前面声明的数组。 怎么做?

3 个答案:

答案 0 :(得分:0)

您可以将services_type移动到变量并在两个地方使用它:

$service_types = array(
'st_defect'=>1,
'st_retour'=>2,
'st_order'=>3,
);

return array(     /*** .... ****/

'params'=>array(

    //service types constants
    'service_types'=>$services_types,

//open times of department 0=monday
    'st_open'=>array(
    $service_types['st_retour']=>array(
                              0=>array(800,1700),   
                              1=>array(800,1700),   
                              2=>array(800,1700),   
                              3=>array(800,1700),
                              4=>array(800,1700),
            ),  
        ),

), //end params array

....

请记住配置文件只是PHP;你可以使用变量,函数,包含等。

答案 1 :(得分:0)

将该数组的声明拉出params数组声明:

$service_types = array(
    'st_defect'=>1,
    'st_retour'=>2,
    'st_order'=>3,
);

然后

'params'=>array(
    'service_types'=> $service_types
    'st_open'=>array(
        $service_types['st_retour'] => array(...)
    ),
)

答案 2 :(得分:0)

我改变了main.php的配置:

$ret = array();
$ret['params'] =array();

    //service types constants
    $ret['params']['service_types']=array(
    'st_defect'=>1,
    'st_retour'=>2,
    'st_order'=>3,
    );

//open times of department 0=monday
    $ret['params']['st_open']=array(
                             $ret['params']['service_types']['st_retour']=array(
                              0=>array(800,1700),   
                              1=>array(800,1700),   
                              2=>array(800,1700),   
                              3=>array(800,1700),
                              4=>array(800,1700),
            );  
        );


return $ret;

这样我可以在下一个内部使用之前声明的数组,并且我将设置保持在一起以获得可读格式。因此,对一个页面的设置进行了聚类。

Thanx感谢您的反馈!