我应该如何在Laravel包中键入提示UserModel?

时间:2018-10-08 08:29:17

标签: laravel model namespaces type-hinting

我要在包中键入提示User模型。默认情况下为App\User。在频道课程中,没关系:

class ChannelExample
{
    public function join(\App\User $user)
    {
        //
    }
}

如果App命名空间已更改(例如,使用artisan app:name),它将不再起作用。

显然,在一个程序包中,不可能知道用户将使用什么名称空间。因此,提示不是一个好主意...

键入提示并使程序包与任何App名称空间一起使用的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

使用laravel的Contract类使用的Auth

public function join(Illuminate\Contracts\Auth\Authenticatable $user)
{
    //
}