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时第二个参数是个文件路径,而人家需要你提供数组。教科书上的例子也写的很清楚了:
public function init() { parent::init(); // initialize the module with the configuration loaded from config.php \Yii::configure($this, require(__DIR__ . '/config.php')); }
共 1 条回复wenyudengdeng 回复于 2015-05-21 11:35 回复哎呀,谢谢,是我太粗心了
其他 0 个回答
没有找到数据。
wenyudengdeng
注册时间:2015-04-26
最后登录:2015-07-15
在线时长:7小时53分
最后登录:2015-07-15
在线时长:7小时53分
- 粉丝4
- 金钱735
- 威望30
- 积分1105