为 foreach() yii-app-basic 提供的参数无效
Invalid argument supplied for foreach() yii-app-basic
我有一个模块 -> 用户。
->modules
->users
->controllers
->models
->views
->Users.php
我在 'users' 个模块的 '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 的目录路径,如
modules/users/Users.php
<?php
namespace app\modules\users;
class Users extends \yii\base\Module
{
public $controllerNamespace = 'app\modules\users\controllers';
public $commonModel = 'app\modules\users\models\Users';
public function init()
{
parent::init();
\Yii::configure($this,require(__DIR__.'/config/config.php'));
}
}
但是,它给出了类似
的错误
PHP Warning – yii\base\ErrorException
"Invalid argument supplied for
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
文件中,您应该返回一个数组,如果您使用的是基本应用配置文件并添加到该文件中,那么它应该已经像这样设置了
问题出在配置文件上。配置文件必须returns一个数组。确保配置文件如下:
<?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());
}
我有一个模块 -> 用户。
->modules
->users
->controllers
->models
->views
->Users.php
我在 'users' 个模块的 '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 的目录路径,如
modules/users/Users.php
<?php
namespace app\modules\users;
class Users extends \yii\base\Module
{
public $controllerNamespace = 'app\modules\users\controllers';
public $commonModel = 'app\modules\users\models\Users';
public function init()
{
parent::init();
\Yii::configure($this,require(__DIR__.'/config/config.php'));
}
}
但是,它给出了类似
的错误PHP Warning – yii\base\ErrorException
"Invalid argument supplied for 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
文件中,您应该返回一个数组,如果您使用的是基本应用配置文件并添加到该文件中,那么它应该已经像这样设置了
问题出在配置文件上。配置文件必须returns一个数组。确保配置文件如下:
<?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());
}