我知道這是有很多爭論的一個問題,但也有關於它的兩個方面,我還沒有看到太多參考,並想知道答案的: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