我已经构建了一个带有自定义外观的 Laravel 5.4 应用程序,App\Facades\Repo
. Repo 外观代理到一个RepositoryFactory
类。在我的应用程序配置中,我有一个Repo
指向 Repo 门面的别名。我用它来获取带有诸如Repo::get('User')
.
如果我在控制器或路由文件中,这可以正常工作。然而,在应用程序的其他部分,我不能使用Repo
别名。解释器在当前命名空间中寻找一个 Repo 类,然后出错。这提出了两个问题:
- 哪些类知道外观别名?是什么定义了它们?
- 在不知道外观别名的类中,我应该继续导入外观类本身吗?或者这是代码的味道?
例如,不知道别名的类包括我的存储库本身。我为它们创建了一个超类型,但它们不继承自任何 Laravel 类。有时我的存储库需要调用其他存储库来完成它们的工作。