系统中存在多个配置文件。分开存储的配置文件要读取的话只能是如下代码吗?
$config = Yii::app()->params[‘backend’];
$pages->pageSize = $config[‘perPageSize’];
有更简单的办法吗?
系统中存在多个配置文件。分开存储的配置文件要读取的话只能是如下代码吗?
$config = Yii::app()->params[‘backend’];
$pages->pageSize = $config[‘perPageSize’];
有更简单的办法吗?
这样挺好的,不是吗~
我更建议params使用lazy load方式来加载配置文件,会更好~
就是配置为 param_files => array(‘name1’=>file1, ‘name2’=>file2)
这样当使用 Yii::app()->params[‘name1’] 时,为lazy load方式读取配置文件~
lazy load 读取的话就更好啦。我看我现在做的,前台和后台还有其他的一些配置文件全部加在在一起,其实用前台配置文件时,其他的配置文件根本就没有用武之地了。
前后台我觉得还是分开两个app比较合适~
你用module的话,可以把配置放到 module设置里面去?
module 设置?Where?
我是这样加载配置文件的。
<?php
return CMap::mergeArray(
array(
'version' => '0.1',
'last_modify_time' => '2009-12-14',
'media_types' => array(
// 图片文件
'picture' => array('*.jpg', '*.jpeg', '*.gif', '*.png'),
// 文档文件
'docs' => array('*.wps', '*.doc', '*.docx', '*.xls', '*.xlsx', '*.pdf'),
// 压缩文件
'zip' => array('*.7z', '*.zip', '*.rar'),
),
),
array(
'frontend' => require(dirname(__FILE__) . '/config_frontend.php'),
'backend' => require(dirname(__FILE__) . '/config_backend.php'),
'upload' => require(dirname(__FILE__) . '/config_upload.php')
)
);
然后再 main.php 中
'params' => require(dirname(__FILE__) . '/config.php'),
'modules' => array(
'admin' => array(
'your_config' => array(...),
),
),