本文講述了phplib中的一些基本語法和函式
boeiblog是一套支援多模板的單使用者版網路日誌程式
其模板引擎採用的是phplib7.4版。此版本修正了以前的大部分bug,檔案位於class/template.class.php,有興趣的朋友可以開啟看看。
這是一套解析型的模板,而不是**arty之類的編譯型。用這套模板的好處是模板頁面可以很簡單,但程式因為要替換模板中的標籤,因此比較慢。
好在此系統是為個人使用者準備的。效率是放在第二位,易用性是放在首位的,因此仍然採用的是phplib的模板。
語法介紹:
phplib中常用的方法有set_file,set_block,set_var,parse,ppasre,p,get等。
宣告:由於本系統採用的是phplib,如果頁面中有大括號對,這將會替換成空白,所以在寫此文章時,用"[[","]]"來替代大括號。大家在用的時候是用大括號便是,此處僅為寫文章方便而作此約定。
set_file:是用來引入模板檔案。
用法:code:
$t->set_file("show_main","main.htm");
或$t->set_file(array(
"show_header"=>"header.htm",
"show_main"=>"main.htm"
));set_block:用來宣告乙個區塊
用法:$t->set_block("show_main","rowlist","rl");
稍微解釋一下,show_main是用set_file取得的檔案控制代碼,rowlist是模板頁面中的區域標識一般如下方式來寫
code:
[[param]]
如上是將作為了乙個區塊,這樣就可以用迴圈來生成多行的列表了
區塊是可以巢狀的
code:
[[param]]
如上所示,這宣告乙個巢狀區塊,這在boeiblog的像冊部分採用了這種方式,有興趣的朋友可以找出來看看
對於巢狀的模板,我們可以這樣來使用
$t->set_block("show_main","rowlist","rl"); // 裡面的引數從前向後依次是包含的關係,最後乙個是別名,主要用來區塊識別
$t->set_block("rowlist","collist","cl"); // 第乙個引數是外層塊的名稱,第二個是自己的名樂,第三個是別名
迴圈這樣的區塊時要特別注意
如下:code:
$t->set_block("show_main","rowlist","rl");
$t->set_block("rowlist","collist","cl");
for($i=0;$i<5;$i++)
$t->parse("rl","rowlist",true);// 這裡的true也是表追加
}上述**將會產生乙個5x5的**,每個單元格裡會出現乙個boeiblog
set_var:用來作變數替換
上述**裡的$t->set_var("param","boeiblog");就是把模板中的param變數替換成boeiblog這個字串,當然也可以替換成變數,如:
code:
$curdate = date("y-m-d");
$t->set_var("param",$curdate);
set_var也有追加屬性,如:
code:
$curdate = date("y-m-d");
for($i=0;$i<10;$i++)
這將產生十個連續的當前日期
有時候可以用set_var的追加屬性來替代block的迴圈.
set_var是可以用陣列的,如:
code:
$t->set_var(array(
"param"=>"boeiblog",
"title"=>"柏艾網路"
));
模板如下:
code:
[[param]],[[title]]
parse:用於解析檔案
當我們將模板中的所有變數都處理完之後,可以用parse一將這個模板進行解析。這是模板處理的最後幾道工序。
如:code:
$t->set_file("show_index","index.htm");
$t->set_file("show_main","main.htm");
$t->set_var("param","boeiblog");
$t->parse("main","show_main");
我們所用的模板可能是:
code:
main.htm
[[param]]
如果此時還有另外乙個模板,其結構如下:
code:
index.htm
[[main]]
那麼上述**將會把main.htm中的變數替換成boeiblog後再放到index.htm中的main處,最後形成乙個在
標籤中的**
解析完成之後便是輸出頁面,
p:用於輸出頁面
如:code:
$t->set_file("show_index","index.htm");
$t->set_file("show_main","main.htm");
$t->set_var("param","boeiblog");
$t->parse("main","show_main");
$t->parse("index","show_index");
$t->p("index");// 此處便會將整個index頁面輸出,注意main.htm已經被嵌入到index.htm,所以不用$t->p("main");
pparse:同p一樣也用來輸出頁面
如:code:
上述**可以如下簡化
$t->set_file("show_index","index.htm");
$t->set_file("show_main","main.htm");
$t->set_var("param","boeiblog");
$t->parse("main","show_main");
$t->pparse("index","show_index");// 此處將p和parse結合到一起,立即完成解析並輸出
get:用於獲得檔案內容
如:code:
$t->set_file("show_index","index.htm");
$t->set_file("show_main","main.htm");
$t->set_var("param","boeiblog");
$t->parse("main","show_main");
$t->parse("index","show_index");
$getstr = $t->get("index");
echo $getstr;// 你將會看到這實際上和p是一樣的。
利用get,我們可以輕鬆的取得生成頁面的內容,這可以用於靜態頁面的生成。可以看到phplib用來處理靜態頁面是非常方便的
模板,PHPLIB處理方式 一
一般來說,模板可以讓你完全地把你的php 從html中分離出來,這樣使得html的圖形 設計者們非常高興,而且可以避免他們搞丟你的寶貴設計。它不是fasttemplates 那麼,我們真的需要在phpbuilder上關於模板的另一篇文章嗎?好,是的,因為有不止一種的方法用php來實現模板。sasch...
Spring Cloud體系介紹
上圖只是spring cloud體系的一部分,spring cloud共整合了19個子專案,裡面都包含乙個或者多個第三方的元件或者框架!spring cloud 工具框架 1 spring cloud config 配置中心,利用git集中管理程式的配置。當然這個數量還在一直增加.微服務是一種架構的...
yean體系架構介紹
yarn是hadoop 2.0的資源管理器。它是乙個通用的資源管理系統,可為上層應用提供統一的資源管理和排程,它的引入為集群在利用率 資源統一管理和資料共享等方面帶來了巨大好處。1 從hadoop0.23版本開始對於mapduce計算框架進行公升級,引入了yarn。老的版本mrv1存在諸多問題,和y...