5

我只是想知道我们是否可以在模块中添加一个扩展 main.conf 的配置文件

4

3 回答 3

2

它确实,已经。在 CWebModule 中通过 $this->setComponents 如下:

<?php

    class AccountModule extends CWebModule
    {
        public function init()
        {
            // this method is called when the module is being created
            // you may place code here to customize the module or the application

            $this->setComponents(array(
                'errorHandler' => array(
                        'errorAction' => 'module/default/error'),
                'defaultController' => 'default',
                'user' => array(
                        'class' => 'ModuleWebUser',
                        'allowAutoLogin'=>true,
                        'loginUrl' => Yii::app()->createUrl('module/default/login'),
                )
            ));

            // import the module-level models and components or any other components..
            $this->setImport(array(
                'module.models.*',
                'module.components.*',
            ));
        }
} ?>
于 2013-02-24T22:16:48.300 回答
1

这样做的方法是在主配置数组的 params 项中为您的模块/等创建一个数组项。

看这个论坛帖子:http ://www.yiiframework.com/forum/index.php/topic/24617-custom-configuration/

如果您希望您的配置位于单独的文件中,您可以将其与配置文件中的主配置数组合并!像这样的东西应该工作:

include("custom_config.php"); // define $array_from_custom_conf inside this file
return array_merge(
   array(/*main_config_array from main.php*/),
   $array_from_custom_conf
);

如果您将自定义配置数组作为第二个参数,它还将覆盖主配置中的属性。

于 2012-09-11T08:21:23.563 回答
1

我从来没有这样做过,但是:

  • 当前的解决方案在wiki 文章中提供。
  • 关于这个“功能请求”,在 Yii 的论坛上已经提出请求也就不足为奇了。见这里这里
于 2012-09-11T08:58:17.650 回答