PHP开发必备 一步步学PHP模版引擎Dwoo(1)
PHP目前是使用最广泛的脚本解析动态语言之一。在PHP的开发当中,开发者都很关心的一个问题是,如何最大程度地将页面和商业逻辑分离。而目前的很多PHP的开发框架,在这方面都有很好的解决方案,比如Zend,Agavi,CakePHP和CodeIgniter。然而,假如你的项目不是太大而没使用这些框架时,则可以选用一些开源的PHP模版引擎来实现页面和逻辑的分离,目前比较著名的有Smarty。本文将介绍另一款新兴的PHP模版引擎Dwoo,它同样有很多优点,值得读者去学习。
一、安装Dwoo
首先到Dwoo的官方网站下载(http://www.dwoo.org)最新的版本1.1.7。在下载后,解压dwoo,将解压目录命名为dwoo,当然,你也可以用pear的安装方法安装,方法为:
pear channel-discover pearhub.org
pear install pearhub/Dwoo
二、Dwoo模版简介
在Dwoo中,跟象Smarty等模版引擎差不多的是,它允许用户用普通的HTML编辑工具编辑表现层的页面,然后在需要产生动态内容的地方用占位符表示。模版引擎在解析的时候,会把如数据库中的或者业余逻辑计算结果填充到这些占位符中。下面先看一个简单的例子。
我们先建立一个模版文件,Dwoo的模版文件默认是tpl,当然你也可以改为其他文件后缀。模版文件名为knock.tpl,把它保存在template文件夹中,内容为:
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><span class="tag-name">html</span><span class="tag">></span><span> </span></span></span></li> <li><span class="tag"><span class="tag-name">head</span><span class="tag">></span><span class="tag"></span><span class="tag-name">head</span><span class="tag">></span><span> </span></span></li> <li class="alt"><span class="tag"><span class="tag-name">body</span><span class="tag">></span><span> </span></span></li> <li><span class="tag"><span class="tag-name">blockquote</span><span class="tag">></span><span> </span></span></li> <li class="alt"> <span>Knock knock! </span><span class="tag"><span class="tag-name">br</span><span class="tag">/></span><span> </span></span> </li> <li> <span>Who's there? </span><span class="tag"><span class="tag-name">br</span><span class="tag">/></span><span> </span></span> </li> <li class="alt"> <span>{$name} </span><span class="tag"><span class="tag-name">br</span><span class="tag">/></span><span> </span></span> </li> <li> <span>{$name} who? </span><span class="tag"><span class="tag-name">br</span><span class="tag">/></span><span> </span></span> </li> <li class="alt"><span>{$punchline} </span></li> <li> <span class="tag"></span><span class="tag-name">blockquote</span><span class="tag">></span><span> </span> </li> <li class="alt"> <span class="tag"></span><span class="tag-name">body</span><span class="tag">></span><span> </span> </li> <li> <span class="tag"></span><span class="tag-name">html</span><span class="tag">></span><span> </span> </li> </ol>
可以看到,在Dwoo中,模版文件中,把需要动态更替的内容用{$ }这样的形式包裹起来,作为占位符,占位符当中的内容到时会被自动更替为实际的内容。接下来看如何使用Dwoo,代码如下:
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></span></li> <li> <span class="keyword">include</span><span> </span><span class="string">'dwooAutoload.php'</span><span>; </span> </li> <li class="alt"> <span class="comment">// 创建dwoo实例 </span><span> </span> </li> <li> <span class="vars">$dwoo</span><span> = </span><span class="keyword">new</span><span> Dwoo(); </span> </li> <li class="alt"> <span class="comment">//读取模版文件 </span><span> </span> </li> <li> <span class="vars">$tpl</span><span> = </span><span class="keyword">new</span><span> Dwoo_Template_File(</span><span class="string">'tmpl/knock.tpl'</span><span>); </span> </li> <li class="alt"> <span class="comment">// 对模版变量赋值 </span><span> </span> </li> <li> <span class="vars">$data</span><span> = </span><span class="keyword">array</span><span>(); </span> </li> <li class="alt"> <span class="vars">$data</span><span>[</span><span class="string">'name'</span><span>] = </span><span class="string">'Boo'</span><span>; </span> </li> <li> <span class="vars">$data</span><span>[</span><span class="string">'punchline'</span><span>] = </span><span class="string">'Don't cry, it's only a joke'</span><span>; </span> </li> <li class="alt"> <span class="comment">// 将实际内容输出到模版 </span><span> </span> </li> <li> <span class="vars">$dwoo</span><span>->output(</span><span class="vars">$tpl</span><span>, </span><span class="vars">$data</span><span>); </span> </li> <li class="alt"><span>?> </span></li> </ol>
下面是使用Dwoo的几个步骤:
1、首先要包含Dwoo自动装载类dwooAutoload.php,这个类是自动加载了Dwoo模版所需要的其他依赖的类和工具类;
2、创建Dwoo类的实例;
3、通过new Dwoo_Template_File的方法加载模版,其中的参数为模版文件所在的路径;
4、设置要向模版文件中输出的替换内容,在Dwoo中,只需要通过定义一个关联数组的方法即可,数组中每个元素的名称跟模版文件中的占位符一一对应,数组中的每个值,就是要替换模版中的实际内容;
5、通过调用output方法,将数据向模版中输出,传入的参数为输出的数组内容和模版路径。
下图为输出结果:

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

在PHP8 中,match表達式是一種新的控制結構,用於根據表達式的值返回不同的結果。 1)它類似於switch語句,但返回值而非執行語句塊。 2)match表達式使用嚴格比較(===),提升了安全性。 3)它避免了switch語句中可能的break遺漏問題,增強了代碼的簡潔性和可讀性。
