【发布时间】:2021-07-11 20:27:37
【问题描述】:
在我的main.php 我有这个代码
'authClientCollection' => [
'class' => 'yii\authclient\Collection',
'clients' => [
'google' => [
'class' => 'Da\User\AuthClient\Google',
'clientId' => 'xxxxxxxxxxxxxxxxxapps.googleusercontent.com',
'clientSecret' => 'xxxxxxxxxxxxxxxx',
'returnUrl' => Url::to(['user/security/auth', 'authclient' => 'google']], true),
],
但我得到了这个错误。
Notice: Trying to get property 'controller' of non-object in C:\xampp\htdocs\yii2\vendor\yiisoft\yii2\helpers\BaseUrl.php on line 136
我也试过\Yii::$app->urlManager->createAbsoluteUrl('user/security/auth', ['authclient' => 'google']),
得到了这个错误
Notice: Trying to get property 'urlManager' of non-object in C:\xampp\htdocs\yii2\frontend\config\main.php on line 160
如何在 main.php 中设置绝对 URL?谢谢
【问题讨论】:
-
您不能在配置文件中使用
Url::to()或Yii::$app。配置文件甚至在创建应用程序实例之前就被处理,因为创建该实例需要配置。您应该简单地对 url 进行硬编码。如果您绝对需要使用 url manager 动态设置 url,您应该在创建应用程序实例后设置它。