yii 2 : 覆盖用户模型 [英] yii 2 : override user model
问题描述
如何在 yii2 中正确覆盖用户模型?
How to override user model properly in yii2?
例如,我想覆盖 commonmodelsUser.php
For example, I want to override commonmodelsUser.php
我使用以下代码创建了 frontendmodelsUser.php :
I created frontendmodelsUser.php with the following code :
namespace frontendmodels;
use commonmodelsUser as BaseUser;
class User extends BaseUser
{
public static function tableName()
{
return '{{%accounts}}';
}
...
在main.php中,当我添加
In main.php, when I add
'user'=>array(
'class' => 'frontendmodelsUser',
),
出现错误设置未知属性:frontendmodelsUser::identityClass
I get error Setting unknown property: frontendmodelsUser::identityClass
推荐答案
您可以设置两件事:1)
There are 2 things you can set up: 1)
'user' => [
'identityClass' => 'commonmodelsUser',
],
和 2
'user' => [
'class' => 'frontendcomponentsUser',
],
您正在转换它们.'identityClass' 是你的模型,'class' 是 Yii 的 User 组件.通过设置 identityClass 你告诉 Yii 用户组件应该使用 frontendmodelsUser 它的 identityClass 属性.
You are switching them around. 'identityClass' is your model, 'class' is the the User component for Yii. By setting identityClass you are telling Yii that the User Component should use frontendmodelsUser it's identityClass property.
这是用户组件 https://github.com/yiisoft/yii2-framework/blob/master/web/User.php
以前的 Yii2 版本实际上已经放入了文件 frontendcomponentsUser.php(即扩展 yiiwebUser).我明白为什么现在更混乱了.
The previous versions of Yii2 had actually the file frontendcomponentsUser.php already put in (that was extending yiiwebUser). I can see why it is more confusing now.
您遇到的新错误是什么?
What is the new error you are getting?
这篇关于yii 2 : 覆盖用户模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!