在Yii 2中自定义urlManager组件时获取错误无效调用 - yii\base\InvalidCallException

ish*_*med 3 php yii yii-components yii2 yii-url-manager

我已经设置了Yii 2基本应用程序,并在config/web.php我使用下:

    urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
        ]
Run Code Online (Sandbox Code Playgroud)

components.

但是当我尝试运行我的应用程序时,我收到以下错误:

无效调用 - yii\base\InvalidCallException设置只读属性:yii\web\Application :: urlManager>

相同的urlManager代码在高级应用程序中工作正常.有什么想法吗?

Vic*_*ong 5

Invalid Call – yii\base\InvalidCallException Setting read-only property: yii\web\Application::urlManager>
Run Code Online (Sandbox Code Playgroud)

从此错误消息,您似乎正在尝试重新定义urlManager不允许的应用程序组件.

urlManager,以及其他几个组件,如security预定义为核心应用程序组件.最有可能的是,重新定义这些核心组件会导致意外行为(尽管我没有目击过).

尝试删除class配置中的密钥.

'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
    ]
Run Code Online (Sandbox Code Playgroud)