如何在yii2中正确覆盖用户模型?
例如,我想覆盖常见的\ models\User.php
我使用以下代码创建了frontend\models\User.php:
namespace frontend\models;
use common\models\User as BaseUser;
class User extends BaseUser
{
public static function tableName()
{
return '{{%accounts}}';
}
...
Run Code Online (Sandbox Code Playgroud)
在main.php中,当我添加
'user'=>array(
'class' => 'frontend\models\User',
),
Run Code Online (Sandbox Code Playgroud)
我收到错误设置未知属性:frontend\models\User :: identityClass
您可以设置2件事:1)
'user' => [
'identityClass' => 'common\models\User',
],
Run Code Online (Sandbox Code Playgroud)
和2
'user' => [
'class' => 'frontend\components\User',
],
Run Code Online (Sandbox Code Playgroud)
你正在切换它们.'identityClass'是你的模型,'class'是Yii的User组件.通过设置identityClass,您告诉Yii用户组件应该使用frontend\models\User它的identityClass属性.
这是用户组件https://github.com/yiisoft/yii2-framework/blob/master/web/User.php
以前版本的Yii2实际上已经放入了文件frontend\components\User.php(扩展了yii\web\User).我明白为什么现在更加混乱.
你得到的新错误是什么?
| 归档时间: |
|
| 查看次数: |
6259 次 |
| 最近记录: |