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

    urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
        ]

components 下。

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



相同的 urlManager 代码在高级应用程序中运行良好。任何想法为什么?

最佳答案

Invalid Call – yii\base\InvalidCallException Setting read-only property: yii\web\Application::urlManager>

从这个错误信息来看,您似乎试图在 Application 组件中重新定义 urlManager 这是不允许的。
urlManager 和其他几个组件(例如 security )被预定义为核心应用程序组件。最有可能的是,重新定义这些核心组件会导致意外行为(尽管我没有目睹过)。

尝试删除配置中的键 class
'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
    ]

关于php - 在 Yii 2 中自定义 urlManager 组件时出现错误 Invalid Call – yii\base\InvalidCallException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26009697/

10-12 21:59