为foreach()yii-app-basic提供的参数无效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为foreach()yii-app-basic提供的参数无效相关的知识,希望对你有一定的参考价值。
我有一个模块 - >用户。
->modules
->users
->controllers
->models
->views
->Users.php
我在'用户'模块的'config'文件夹中创建了一个'config.php'。
->modules
->users
->config
->config.php
->controllers
-> List of Controllers
->models
-> List of models
->views
-> List of Views
->Users.php
并且,我在Users.php的init()方法中给出了config.php的目录路径,如
模块/用户/ Users.php
<?php
namespace appmodulesusers;
class Users extends yiiaseModule
{
public $controllerNamespace = 'appmodulesuserscontrollers';
public $commonModel = 'appmodulesusersmodelsUsers';
public function init()
{
parent::init();
Yii::configure($this,require(__DIR__.'/config/config.php'));
}
}
但是,它给出了错误
PHP警告 - yii base ErrorException “为foreach()提供的参数无效”。
截图
我正在从Yii2.0 Guide参考,在init()方法中包含一个路径。
请帮我纠正这个问题。
谢谢。
答案
从我所看到的,你将PHP代码传递给配置文件,而不是传入配置数组
而不是......
Yii::configure($this, require(__DIR__.'/config/config.php'));
试试这个......
$config = require(__DIR__.'/config/config.php');
Yii::configure($this, $config);
在你的config.php
文件中,你应该返回一个数组,如果你使用的是基本应用程序配置文件并添加到那个,那么它应该像这样设置
另一答案
问题来自配置文件。配置文件必须返回一个数组。确保配置文件如下:
<?php
$config = [
'name1' => 'value1',
'name2' => [/* something here */],
];
return $config;
另一答案
编辑文件模型并删除代码:
/**
* @inheritdoc
* @return DriverSearch the active query used by this AR class.
*/
public static function find()
{
return new DriverSearch(get_called_class());
}
以上是关于为foreach()yii-app-basic提供的参数无效的主要内容,如果未能解决你的问题,请参考以下文章
PHP嵌套foreach()给出警告:为foreach()提供的参数无效
为代码“DateTime::createFromFormat”的 foreach () 提供的参数无效?