yii 2:覆盖用户模型

Nat*_*lie 5 model yii2

如何在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

Mih*_* P. 6

您可以设置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).我明白为什么现在更加混乱.

你得到的新错误是什么?