時間:2023-12-20 14:36:01 | 來源:網站運營
時間:2023-12-20 14:36:01 來源:網站運營
PHP模版引擎,框架有什么區(qū)別,各有什么用?:瀉藥。兩種觀點
當PHP出現(xiàn)了模板引擎時,就有了兩種觀點: 第一種觀點是:“PHP本身就是模板引擎”。主張在HTML中內使用簡單的PHP代碼。 雖然從純代碼運行觀點來看,這種主張是速度最快的,但有很大的爭議就是內嵌的PHP代碼會 使得HTML凌亂并且非常復雜。
另一種觀點是頁面顯示應該是沒有程序代碼的,轉而用簡單的標簽來顯示內容。 這中主張在別的模板引擎(甚至是其他編程語言)是很常見的,而且也是Smarty的觀點。 這種方式可以讓模板只專注于頁面顯示,避免混合了程序邏輯代碼,更方便管理。
PHP與模板分離的重要性
兩個主要是好處:
- 語法:模板語法通常是更符合HTML標記的語義。PHP語法可以在程序代碼中運作的很好, 但如何混合在HTML中就不然。Smarty簡單的{標簽}語法是為了表達顯示邏輯而設計的。 Smarty讓你的模板更專注于頁面顯示,而不用關注太多“代碼”。 這可以讓模板開發(fā)得更快速,維護更容易。 學習Smarty的語法不需要懂得PHP的相關知識,程序員或非程序員都能很快上手。
- 松耦合:當PHP代碼混合在模板中,那將無法約束任意的邏輯代碼被寫到模板上。 Smarty分隔了模板和PHP,控制了頁面顯示和業(yè)務邏輯的分離。 Smarty還有安全特性,可以令模板源碼有強制的約束。
Smarty不是什么
Smarty不是一個應用開發(fā)框架。Smarty不是一個MVC。Smarty不像Zend Framework, CodeIgniter, PHPCake, 或者其他的PHP應用開發(fā)框架。
Smarty是一個模板引擎,在應用程序中,當作V層(視圖層)的組件來使用。 Smarty可以很輕易連接到其他的視圖引擎中。 和其他的軟件技術一樣,Smarty也有著學習曲線。 Smarty不一定保證良好的程序設計或者達成顯示分離的目的,這還得需要開發(fā)者和模板設計師的努力。
關鍵詞:區(qū)別,引擎