我希望有人在Laravel 4框架中解释静态外观的概念和用法。
从我的理解,它似乎导致紧密耦合和隐藏依赖,因为正在调用静态类方法。我是对的吗?
答案 0 :(得分:0)
不,那不太正确。静态类方法是 not 被调用。
当您扩展Facade时,您可以从DI容器中设置要解析的类。 Facade使用__callStatic然后调用从容器解析的类的实例方法。
所以,你并没有紧密耦合,因为你可以简单地在容器中指定一个不同的实现,而Facade将会选择并使用它。
此外,没有调用静态类方法,因为所有内容都落到__callStatic,后者调用从DI容器中解析的任何类的实例方法