当前位置:  开发笔记 > 编程语言 > 正文

我可以在Laravel 5.2中创建一个继承自User的新类吗?

如何解决《我可以在Laravel5.2中创建一个继承自User的新类吗?》经验,为你挑选了0个好方法。

我非常新(使用5.2这是最新版本为准)到laravel,因此我有以下的困境:我知道,Laravel自带User类开箱的,但我想开发一个系统,我可以有另外两种类型的用户叫做ResearcherAdmin.

我主要需要创建完全不同类型的用户(研究员和Admin),可能是继承User,因为业务逻辑是在他们之中几乎100%不同,我不希望在数据库中建立一个资料栏的用户类型进行分类.此外,不会有太多的领域,股市之间的重叠User,Admin以及Researcher类.

我的主要问题是:如果我从User其他2个类继承的话,一切仍然可以工作(Auth Controller,中间件启用等等)吗?我知道OOP的原则和直觉我认为如果我做以下事情我应该没事:

//'Stock' User class:
//
class User extends Authenticatable{
    //Any overlapping logic between Researcher and Admin.
}


class Researcher extends User{
    //My class definition here.
}

class Admin extends User{
    //My class definition here.
}

然后使用这两个类,因为我通常会使用该类的实例User.通过这种方式,我的意思是使用所有方法和开箱即用的User功能.

问题扩展:在写我的问题时,我意识到User默认情况下该类看起来像这样:



我不能只执行以下操作而不是继承User来创建我的其他2个类(Researcher&Admin):

//Researcher Class:
namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class Researcher extends Authenticatable
{
    //Class definition...
}

...

//Admin Class:
namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class Admin extends Authenticatable
{
    //Class definition
}

在这种方法中,我试图"模仿"这门User课程.问题是我不知道内核中是否存在任何硬编码的逻辑,并且User隐式地引用了该类.

任何想法和帮助将不胜感激.对不起,如果这对你很愚蠢.我刚刚开始使用laravel框架.

干杯!

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有