如何在模块中覆盖配置中的yii2 web.php文件

时间:2016-08-25 15:46:07

标签: templates yii2

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

2 个答案:

答案 0 :(得分:0)

您可以使用Module.init()\Yii::configure()功能中执行此操作。

像这样:

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

    // this is just for example
    $configOptionsForApp = [
        'components' => [
            'user' => [
                'class' => 'path\to\custom\User',
            ],
        ],
    ];

    \Yii::configure(\Yii::$app, $configOptionsForApp);
}

答案 1 :(得分:0)

这个棘手的方法无效。但我创建了一个名为api的迷你应用程序并调整了一些设置以使其正常工作。它正在发挥作用。我在关注博客上的教程是http://tacktile.net/blog/2015/12/22/create-restful-api-using-yii2-basic-template-with-authentication-part-i/