1
我已经用自定义门面建立了Laravel 5.4应用程序,App\Facades\Repo
。回购门面代理RepositoryFactory
类。在我的应用程序配置中,我有一个别名Repo
,它指向Repo外观。我使用它来获取诸如Repo::get('User')
之类的调用的存储库。我在哪里可以使用Laravel Facade别名?
这工作正常,如果我在控制器或路线文件。但是,在应用程序的其他部分,我不能使用Repo
别名。解释器在当前命名空间中查找Repo类,并且出错。这引出了两个问题:
- 哪些类知道外观别名?什么定义了他们?
- 在不知道外观别名的类中,我应该继续并导入外观类本身吗?或者这是一种代码味道?
举例来说,不属于别名的类包含我的存储库本身。我为他们创造了一种超级类型,但他们不会从任何Laravel类继承。有时我的存储库需要调用其他存储库来完成他们的工作。