谁一开始就是大神?

Yii2模块init方法读取配置[2.0]

学到模块这,按照文档上的,在模块init()方法中添加如下代码:

public function init()
{
    parent::init();
    //加载配置文件
    Yii::configure($this,__DIR__.'/config.php');
}

然后在当前目录下创建一个config.php文件:

return [
    //配置模块默认路由
    'defaultRoute'=>'default'
];

然后通过路由访问模块的时候,报错:

PHP Warning – yii\base\ErrorException

Invalid argument supplied for foreach()

    /**
     * Configures an object with the initial property values.
     * @param object $object the object to be configured
     * @param array $properties the property initial values given in terms of name-value pairs.
     * @return object the object itself
     */
    public static function configure($object, $properties)
    {
        foreach ($properties as $name => $value) {
            $object->$name = $value;
        }
 
        return $object;
    }

是说在configure方法中的,我就是按照文档上的写的,这样怎么修改呢?

虽然php是弱类型语言,但是也要注意形参和实参数据格式的一致性。你调用configure时第二个参数是个文件路径,而人家需要你提供数组。教科书上的例子也写的很清楚了:

赞(0) 打赏
未经允许不得转载:菜鸟之家 » Yii2模块init方法读取配置[2.0]

评论 抢沙发

登录

找回密码

注册