什麼是XHP?
XHP是一個PHP擴展,通過它,開發人員可以直接在PHP代碼中內嵌XML文檔片段,作為合法的PHP表達式。這樣,PHP就成為一個更為嚴格的模板引擎,大大簡化了實現可重用組件的工作。
簡單舉例
<?php
$href = 'http://www.********.com';
echo <a href={$href}>wengdo</a>;
注意第三行代碼中的語法,其中echo後的不是字元串。這是新的語法,主要是將XHP解釋到PHP。
在{}里的任何內容都是完整的PHP表達式,在這裡的{}不同於雙引號字元串;雙引號字元串僅能包含變數。你可以定義能在PHP中實例化的任意元素,在每個元素包含下,你可以創建一個類的實體。定義了一個新的元素,就等於定義了一個新的類。XHP會設定一組帶有大部分HTML的預定義元素。
注意:一定要包含init.php這個檔案,這個檔案在代碼庫里的php-lib目錄里。這個XHP擴展只增加了XML語法的處理,目前的元素都是在PHP里定義好了的。包含了XHP核心庫在PHP的代碼里,那就意味著你可以在你的應用里使用XHP,但是它提示你由於XHP的升級引起的不兼容導致你的錯誤。
複合結構
注意XHP結構可能是一個專門的複合結構。這是一個正確的XHP程式:
<?php
$post =
<div class="post">
<h2>{$post}</h2>
<p><span>Hi,Wengdo.</span></p>
<a href={$like_link}>******.com</a>
XHP有一個優勢就是字元串解釋沒有結束,它在編譯的時候會強制要求糾正標記的錯誤結構。也就是說,這個表達式 $foo = <h1>Header</h2>; 是一個不正確的表達式,因為你沒有關閉<h1>標籤而是用的</h2>.當在設計一大塊的標記的時候,這時候就比較難完全的發現和糾正這個錯誤。用XHP編譯的時候會先檢查你的代碼,並且會拒絕執行,直到你糾正錯誤為止.