1

私は1つのモジュールを持っています->ユーザー。

->modules
    ->users
        ->controllers
        ->models
        ->views
        ->Users.php

「users」モジュールの「config」フォルダー内に「config.php」を1つ作成しました。

->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 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 警告 – yii\base\ErrorException
「foreach() に無効な引数が指定されました」。

スクリーンショット

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

Yii2.0 ガイドから参照して、init() メソッド内にパスを含めます。

この問題を修正するのを手伝ってください。

ありがとう。

4

3 に答える 3

2

問題は構成ファイルから来ています。構成ファイルは配列を返す必要があります。構成ファイルが次のようになっていることを確認します。

<?php

$config = [
    'name1' => 'value1',
    'name2' => [/* something here */],
];

return $config;
于 2015-10-19T13:20:13.667 に答える
2

私が見る限り、構成配列を渡すのではなく、PHP コードを構成ファイルに渡しています。

これの代わりに...

\Yii::configure($this, require(__DIR__.'/config/config.php'));

これをやってみて...

$config = require(__DIR__.'/config/config.php');
\Yii::configure($this, $config);

あなたのconfig.phpファイルでは、配列を返す必要があります.basic-app構成ファイルを使用してそれに追加している場合は、すでにこのように設定されている必要があります

于 2015-10-19T12:51:00.980 に答える
1

ファイル モデルを編集し、コードを削除します。

/**
 * @inheritdoc
 * @return DriverSearch the active query used by this AR class.
 */
public static function find()
{
    return new DriverSearch(get_called_class());
}
于 2018-03-01T02:31:22.900 に答える