是否可以编写一个不依赖于__callStatic或Facade行为的Laravel应用程序?

时间:2013-06-26 18:36:18

标签: laravel laravel-4

我第一次开始使用新的Laravel 4应用程序,其中一件事我注意到当我按照快速入门指南进行操作时会有一些魔力。它建议像这样设置路线:

  

路线::得到(...)

但是当我在get课程中找到静态\Illuminate\Routing\Route函数时,它就不存在了。它似乎实际上是在调用Illuminate\Routing\Router。我还没有挖掘它在Router课程中如何调用它。

但是当我查看Router类的get函数时,它并不是静态的。在堆栈跟踪之后,似乎它正在经历一些管理该类的单例实例的Facade类,然后使用__callStatic来调用实例方法。

是否可以在不利用其中一些快捷方式的情况下编写代码?我的IDE无法很好地遵循这些事情,因此我丢失了自动完成功能和功能细节。我尝试手动实例化Router实例并动态调用get函数,但它似乎没有被挂钩到应用程序中而被忽略。我还想明确包含Laravel命名空间,但它似乎会自动将Route之类的内容转换为\Illuminate\Routing\Router,我发现很难遵循。

2 个答案:

答案 0 :(得分:4)

是的,可以不使用外墙,但不推荐使用。

相反,请考虑使用IDE帮助程序,例如https://github.com/barryvdh/laravel-ide-helper

答案 1 :(得分:0)

Laravel使用Facade模式以方便使用。你可以在不使用外墙的情况下编写你的应用程序,但它会更乏味。外观只是访问App容器上的项目,因此如果您查看各种服务提供商,您可以获取所需内容。