Php 门面vs应用程序。有点困惑
Php 门面vs应用程序。有点困惑,php,laravel,Php,Laravel,app()与Facade::method()不是几乎一样吗 我想我遗漏了什么。对我来说,我发现它几乎和它们是全局类调用一样 那么,为什么要麻烦使用app()而不是Facade::method()呢?app()->method()与Application::method()相同,但并非所有的Facade都有助手函数支持(这就是app()真正的功能)。例如,您可以使用Mail::send…,但没有执行相同操作的Mail()函数(我想这样的函数会与PHPs-Mail函数冲突)。@apokryfos除此
app()
与Facade::method()
不是几乎一样吗
我想我遗漏了什么。对我来说,我发现它几乎和它们是全局
类调用一样
那么,为什么要麻烦使用
app()
而不是Facade::method()
呢?app()->method()
与Application::method()
相同,但并非所有的Facade都有助手函数支持(这就是app()
真正的功能)。例如,您可以使用Mail::send…
,但没有执行相同操作的Mail()
函数(我想这样的函数会与PHPs-Mail函数冲突)。@apokryfos除此之外,还可以。我看到一些人认为facade是件坏事,应该改用app()。为什么?这真的很奇怪,除非你是说使用服务容器来解析实例,而不是使用facades。“那么我想这更有意义了。”apokryfos我看到了这里的讨论:我得到了双方的观点(同理心和易用性)但我不明白的是,它们在用法上似乎与我很相似。我从讨论中了解到,如果有什么是不使用立面的唯一原因,那是因为只有拉威尔使用它们,而国际奥委会的模式使用得更广泛。我想这是有道理的,但你是否觉得这个论点有说服力,让你停止使用它们,这真的取决于你自己。