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

我应该如何在Laravel包中键入hint UserModel?,laravel,model,namespaces,type-hinting,Laravel,Model,Namespaces,Type Hinting,我想在包中键入用户模型提示。默认情况下,它是App\User。在channel类中,这是可以的: class ChannelExample { public function join(\App\User $user) { // } } 如果应用程序名称空间已更改(例如使用artisan App:name),则它将不再工作 显然,在包中,不可能知道用户将使用什么名称空间。因此,打字暗示不是一个好主意 键入提示并使包与任何应用程序名称空间一起工作的最佳实践

我想在包中键入用户模型提示。默认情况下,它是
App\User
。在channel类中,这是可以的:

class ChannelExample
{
    public function join(\App\User $user)
    {
        //
    }
}
如果应用程序名称空间已更改(例如使用
artisan App:name
),则它将不再工作

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


键入提示并使包与任何应用程序名称空间一起工作的最佳实践是什么?

使用laravel用于其
Auth
类的
契约

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

完全忘了合同!Thanks@Arcesilas不客气。想把它作为答案吗?我得等几分钟才能回答