0
我知道App::uses
沒有延遲加載,但是如果我們打算在我們的代碼的一小部分中使用ie CakeTime
(就像在調用該方法的1/3時間的if語句內部),那麼會是什麼App::uses('CakeTime', 'Utility')
的最佳地點?控制器內置App :: uses的優先級是什麼?
的選項有:
- AppController的
- myController的
- :: myController的方法名
- :: myController的if語句裏面方法名(其中,它實際上是將要使用)。
我把它放在4,因爲我猜一定有一些明顯的開銷(即使真的很小),但我沒有看到任何理由讓它出現在控制器的每次調用中。我的同事說2是因爲它「我們可能在將來的其他地方需要它,它會延遲加載,所以這不是問題」。我的答案是,如果我們在其他地方需要它,那麼我們應該重新定義,然後根據情況將其放在哪裏。
您的意見是什麼?爲什麼?
任何指針爲什麼把它放在類聲明以外的地方在技術上不正確?我已經說服你說什麼了,但我也需要知道爲什麼:) – user221931
「爲什麼」很容易:如果你只包含這個類(一個常見的例子是測試用例!),否則它會100%破壞。 – mark