相关疑难解决方法(0)

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

我非常新(使用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.
}
Run Code Online (Sandbox Code Playgroud)

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

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

<?php

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    /**
     * The attributes that are …
Run Code Online (Sandbox Code Playgroud)

php oop laravel laravel-5 laravel-5.2

6
推荐指数
1
解决办法
4490
查看次数

标签 统计

laravel ×1

laravel-5 ×1

laravel-5.2 ×1

oop ×1

php ×1