Templates 如何在模块的config中覆盖yii2 web.php文件

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

我正在使用yii2basic模板开发一个restapi应用程序。我计划为不同的站点提供多个API,每个站点将在应用程序中表示为一个主模块,在应用程序中,我将使用API版本控制表示为v1的子模块。我的主要问题是,我不想打乱正常站点的工作,只想用一个名为api.php的文件覆盖主站点配置中的web.php文件,该文件具有REST api设置。看起来很简单,但我无法理解它。

您可以在
模块中使用
\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博客上的教程,这里是链接