首頁  >  文章  >  後端開發  >  手動開發PHP模板引擎 一 (35)

手動開發PHP模板引擎 一 (35)

WBOY
WBOY原創
2016-08-08 09:23:37855瀏覽

模板叫做TPL,模仿於smarty模板引擎。

我們所說的模板是Web模板,是主要由HTML標記組成的語言來編寫的頁面,但也有如何表示包含動態生成內容的方式(解析標籤)。模板引擎是一種軟體庫,可讓我們
從模板產生HTML程式碼,並指定要包含的動態內容。

1 模板引擎的特點:

1.鼓勵分離:讓更個系統的可讀性和維護性得到提升。
2.促進分工:使得程式設計師和美工去專心處理自己的設計。
3.比PHP更容易解析:編譯檔案和快取檔案載入更快、佔資源更少。

4.增加安全性:可限制模板設計師進行不安全的操作的能力避免誤刪誤訪問等。

2 模板引擎的產品:

PHP 有許多團隊專門開發的模板引擎,例如Smarty、Heyes Templates Class、
FastTemplate 等等。這些模板引擎我們直接拿過來使用,就可以完全實現以上的諸多
特點。可是對於初學者來說,了解模板引擎的原理可以更加深刻的理解為什麼要使用模
板。

3 TPL模板流程圖

 當我們自己創建模板引擎的時候,最大的好處就是從簡。因為很多團隊寫好的模板引擎,它的功能雖然很多很強大,安全性也很高。但缺點就是很多我們用不到,體積非常

的臃腫。

   

4.建立TPL範本引擎

  1.建立初始範本所需的資料夾和檔案

a) index.php主文件,用於編寫業務邏輯。
b) template.inc.php模板初始化文件,用於初始模版資訊。
c) templates目錄存放所有的範本檔案。
d) templates_c目錄存放所有編譯檔。
e) cache目錄存放所有快取檔案。
f) includes目錄存放所有的類別檔案。
g) config目錄存放範本系統變數設定檔。

  2.網站根目錄下的index.php檔案程式碼

<span>//</span><span>设置编码为utf-8</span>header(<span>'</span><span>Content-Type:text/html;charset=utf-8</span><span>'</span><span>);
</span><span>//</span><span>网站根目录</span>define(<span>'</span><span>ROOT_PATH</span><span>'</span><span>,dirname(__FILE__));
</span><span>//</span><span>存放模板文件夹</span>define(<span>'</span><span>TPL_DIR</span><span>'</span>,ROOT_PATH.<span>'</span><span>/templates/</span><span>'</span><span>);
</span><span>//</span><span>编译文件夹</span>define(<span>'</span><span>TPL_C_DIR</span><span>'</span>,ROOT_PATH.<span>'</span><span>/templates_c/</span><span>'</span><span>);
</span><span>//</span><span>缓存文件夹</span>define(<span>'</span><span>CACHE_DIR</span><span>'</span>,ROOT_PATH.<span>'</span><span>/cache/</span><span>'</span>);

  3 includes資料夾下的Templates.class.php—增加判斷目錄是否存在方法

🜀 class.php—建立display()方法來載入.tpl範本檔案

這個也是samrty裡面的display原型方法

<span>//</span><span>创建一个构造方法</span><span>public</span><span> function __construct() {
</span><span>//</span><span>验证一下目录是否存在</span><span>if</span> (!is_dir(TPL_DIR) || !is_dir(TPL_C_DIR) || !<span>is_dir(CACHE_DIR)) {
    exit(</span><span>'</span><span>ERROR:模板文件夹或者编译文件夹或者缓存文件夹没有创建!</span><span>'</span><span>);
  }
}</span>

未完待續

以上就介紹了手動開發PHP模板引擎 一 (35),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn