我已经使用自定义外观App\Facades\Repo
构建了一个Laravel 5.4应用程序。 Repo门面代理RepositoryFactory
类。在我的应用程序配置中,我有一个别名Repo
,它指向Repo facade。我使用它来获取Repo::get('User')
。
如果我在控制器或路径文件中,这可以正常工作。但是,在应用程序的其他部分,我不能使用Repo
别名。解释器在当前命名空间中查找Repo类,并输出错误。这提出了两个问题:
举例来说,不支持别名的类包括我自己的存储库。我已经为它们创建了一个超类型,但它们不会从任何Laravel类继承。有时我的存储库需要调用其他存储库来完成他们的工作。
答案 0 :(得分:1)
到目前为止我注意到的(使用Laravel 5.2)是当你在命名空间的上下文中时,你需要拥有use Repo;
或在前面加一个斜杠,比如\Repo::get("User")
。
在命名空间的上下文中,如routes.php
,配置文件或视图,外观直接工作。
但这与PHP的工作方式有关,而不是与Laravel本身有关。