gpt4 book ai didi

php - Yii::configure 在模块 init() 中不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 21:08:49 25 4
gpt4 key购买 nike

我有一个调用 API 的模块,我想为它加载配置文件。该指南说我必须使用函数\Yii::configure。我使用它,但它不应用任何新配置。我尝试使用数组代替配置文件,结果是一样的

class API extends \yii\base\Module
{
public $controllerNamespace = 'api\client\controllers';

public function init()
{
parent::init();

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

\yii::configure($this, [
'components' => [
'user' => [
'class' => 'yii\web\UserTest',
'identityClass' => 'api\client\models\User',
],
]
]);

echo \yii::$app->user->className();

die();
}
}

如何覆盖模块中的配置?

最佳答案

更新

你必须使用 Yii::$app 的 setComponents 方法

    Yii::$app->setComponents(
[
'errorHandler'=>[
'errorAction'=>'forum/forum/error',
'class'=>'yii\web\ErrorHandler',
],
'user' => [
'class' => 'yii\web\User',
'identityClass' => 'app\modules\profile\models\User',
],
]
);

旧答案

它没有给你错误吗?你的大小写错误,所以用大写的“Yii”代替小写字母的“yii”

class API extends \yii\base\Module
{
public $controllerNamespace = 'api\client\controllers';

public function init()
{
parent::init();

\Yii::configure($this, [
'components' => [
'user' => [
'class' => 'yii\web\UserTest',
'identityClass' => 'api\client\models\User',
],
]
]);

echo \Yii::$app->user->className();

die();
}
}

关于php - Yii::configure 在模块 init() 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26542082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com