关于 params

系统中存在多个配置文件。分开存储的配置文件要读取的话只能是如下代码吗?

$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(...),

        ),

    ),