Templates 如何在模块的config中覆盖yii2 web.php文件
我正在使用yii2basic模板开发一个restapi应用程序。我计划为不同的站点提供多个API,每个站点将在应用程序中表示为一个主模块,在应用程序中,我将使用API版本控制表示为v1的子模块。我的主要问题是,我不想打乱正常站点的工作,只想用一个名为api.php的文件覆盖主站点配置中的web.php文件,该文件具有REST api设置。看起来很简单,但我无法理解它。您可以在Templates 如何在模块的config中覆盖yii2 web.php文件,templates,yii2,Templates,Yii2,我正在使用yii2basic模板开发一个restapi应用程序。我计划为不同的站点提供多个API,每个站点将在应用程序中表示为一个主模块,在应用程序中,我将使用API版本控制表示为v1的子模块。我的主要问题是,我不想打乱正常站点的工作,只想用一个名为api.php的文件覆盖主站点配置中的web.php文件,该文件具有REST api设置。看起来很简单,但我无法理解它。您可以在模块中使用\Yii::configure()函数init()执行此操作 像这样: public function init
模块中使用\Yii::configure()
函数init()执行此操作
像这样:
public function init()
{
parent::init();
// this is just for example
$configOptionsForApp = [
'components' => [
'user' => [
'class' => 'path\to\custom\User',
],
],
];
\Yii::configure(\Yii::$app, $configOptionsForApp);
}
您可以使用\Yii::configure()
在模块.init()
函数中执行此操作
像这样:
public function init()
{
parent::init();
// this is just for example
$configOptionsForApp = [
'components' => [
'user' => [
'class' => 'path\to\custom\User',
],
],
];
\Yii::configure(\Yii::$app, $configOptionsForApp);
}
这个诡计不起作用。但我创建了一个名为api的迷你应用程序,并调整了一些设置使其正常工作。它起作用了。我遵循了tacktile博客上的教程,这里是链接这个技巧不起作用。但我创建了一个名为api的迷你应用程序,并调整了一些设置使其正常工作。它起作用了。我遵循了tacktile博客上的教程,这里是链接