我应该如何在 Laravel 包中输入提示 UserModel?
Posted
技术标签:
【中文标题】我应该如何在 Laravel 包中输入提示 UserModel?【英文标题】:How should I type hint UserModel in a Laravel package? 【发布时间】:2019-03-12 21:17:58 【问题描述】:我想在包中输入提示用户模型。默认情况下,它是App\User
。在频道类中,这样就可以了:
class ChannelExample
public function join(\App\User $user)
//
如果 App 命名空间已更改(例如使用 artisan app:name
),它将不再起作用。
显然,在一个包中,不可能知道用户将使用什么命名空间。因此,类型提示不是一个好主意...
键入提示并使包与任何 App 命名空间一起工作的最佳做法是什么?
【问题讨论】:
【参考方案1】:使用 laravel 使用的 Contract
作为 Auth
类。
public function join(Illuminate\Contracts\Auth\Authenticatable $user)
//
【讨论】:
完全忘记了合同!谢谢 @Arcesilas 不客气。是否将其设置为答案? 我必须等待几分钟才能做到这一点以上是关于我应该如何在 Laravel 包中输入提示 UserModel?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 babel 处理的汇总包中删除 use strict