我知道这是有很多争论的一个问题,但也有关于它的两个方面,我还没有看到太多参考,并想知道答案的:2关于Laravel门面小问题
- 我们一直都在使用静态函数 - 我确定没有人会停止使用
dd()
助手,但显然甚至是纯粹的PHP静态函数,如json_encode()
或array()
。为什么在Facade后面看到laravel
类作为类似的辅助函数而不是类依赖关系是没有意义的?
更重要的,我们在狭窄的控制流程使用这些dependencies
多次(或条件)的方法和类\方法内是真正不是所有的时间必然取决于那些助手(例如用户类仅用于用户认证等)
- 在他对这次辩论的反应,泰勒Otwel自己说,使用外墙可能导致
responsibility bloat in your classes
这意味着我们可能会尝试写班级\方法,做太多,而不是分开他们 - 但我不明白如何使用立面,而不是在承包商或方法注入所有这些类是不同的责任 - fr ü我所理解的只是在声明这些类的地方发生了变化 - 在方法签名中或内部它(我明白这有很多不同之处,但在班级责任问题上没有看到)。有人可以解释这个吗?
底线我在问这个,因为很显然,当他们充当帮手而不是作为辅助工具的核心部分时,我都是为了正面,我想知道我不是唯一的其中一个......我主要担心必须编写我在类中用作依赖关系的每一小段帮助程序。
谢谢!
你能否澄清为什么日期函数不是帮助者?你的意思是因为它取决于时区吗? – jchamberlain
@jchamberlain - 1)它取决于时区。 2)它不是[幂等](https://en.wikipedia.org/wiki/Idempotence)。反复调用'date'函数将不会给你相同的结果。 –
嘿@JosephSilber,谢谢你的一个很好的答案。你会说视图外观也是幂等的吗?路线外观?甚至Auth门面?和邮件?他们似乎每次都返回相同的结果(给定相同的参数) – amosmos