如何在yii2中覆盖或编辑供应商目录的代码?

时间:2016-07-08 16:39:21

标签: php yii2 yii2-advanced-app yii-url-manager

我需要在vendor / yiisoft / yii2 / web / urlmanager.php中进行一些更改才能使我的url_alias正常工作!我需要知道我是否可以直接更改此文件,或者是否有任何方法来覆盖此文件?

1 个答案:

答案 0 :(得分:5)

最好的方法是创建扩展现有UrlManager类的新URL Manager类,即yii/web/urlManager.php

class customUrlManager extends yii/web/urlManager {
.. code here
}

然后在配置元素中指定类,即frontend/config/main.php

 'urlManager' => [
            'class' => '<name_space>/customUrlManager'
            'enablePrettyUrl' => True,
            'showScriptName' => False,
            'rules' => [
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            ],
        ],