如何为User.php扩展多个内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为User.php扩展多个内容相关的知识,希望对你有一定的参考价值。
我是编码新手,正在尝试将\TCG\Voyager\Models\User
和Authenticatable
一起实现MustVerifyEmail
,但我不知道该怎么做。
我已经尝试过User
类扩展了\TCG\Voyager\Models\User
,Authenticatable
一起实现了MustVerifyEmail
,但这对我不起作用。
我创建了2个单独的类,这也不让我满意。
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable implements MustVerifyEmail extends \TCG\Voyager\Models\User
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
答案
您不能在php
中扩展两个(或多个)类,只能扩展一个。一个解决方案可能是:
- [
Class A
延伸Class B
- [
Class B
延伸Class C
这样,Class A
也将扩展Class C
(通过Class B
)。
根据您的情况:
- [
User
扩展了\TCG\Voyager\Models\User
并实现了MustVerifyEmail
- [
\TCG\Voyager\Models\User
扩展了Authenticatable
这是原因之一,特质是在PHP世界中引入的(虽然不一样)。
以上是关于如何为User.php扩展多个内容的主要内容,如果未能解决你的问题,请参考以下文章
如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?
如何为导航到实现底部导航栏的活动中的上一个片段进行后推操作?
如何为 AWS::ElasticLoadBalancingV2::Listener 设置多个证书