2010-11-12 152 views
1

我正在構建一個CodeIgniter應用程序並使用Smarty作爲我的模板系統。不要試圖從各種控制器中分配Smarty變量,最好是在一個地方定義所有的Smarty變量(例如一個控制器超類),以便一切都在一個地方?我對這種方法的擔憂是,分配特定控制器/視圖對不需要的變量可能會降低性能。Smarty變量

想法?

回答

2

在同一個地方!=好

由真實賦予它們的代碼保持你的模板變量賦值。這不僅更容易維護,而且更有意義,因爲它應該是控制器直接分配模板變量(而不是通過某些中介)。此外,多個控制器可以使用模板,並且可以通過不同的規則分配變量。

+0

請您詳細說明正反兩面嗎? – StackOverflowNewbie 2010-11-12 00:48:37

+1

我增加了一些細節。不幸的是,你的超級方法沒有優點。由於控制器方法負責與模型和視圖進行交互,所以在一個地方有數十個或數百個變量在MVC中沒有很好的作用,因此它們只是執行模板變量賦值的合理位置。 – webbiedave 2010-11-12 01:01:35