phplib中的一些基本語法和函數(shù)
語法介紹:
phplib中常用的方法有set_file,set_block,set_var,parse,ppasre,p,get等。
聲明:由于本系統(tǒng)采用的是phplib,如果頁面中有大括號對,這將會替換成空白,所以在寫此文章時,用"[[","]]"來替代大括號。大家在用的時候是用大括號便是,此處僅為寫文章方便而作此約定。
set_file:是用來引入模板文件。
用法:
$t->set_file("show_main","main.htm");
或
$t->set_file(array(
"show_header"=>"header.htm",
"show_main"=>"main.htm"
));
set_block:用來聲明一個區(qū)塊
用法:
$t->set_block("show_main","rowlist","RL");
稍微解釋一下,show_main是用set_file取得的文件句柄,rowlist是模板頁面中的區(qū)域標識一般如下方式來寫
<table>
<!-- BEGIN rowlist -->
<tr>
<td>[[param]]</td>
</tr>
<!-- END rowlist -->
</table>
如上是將<tr></tr>作為了一個區(qū)塊,這樣就可以用循環(huán)來生成多行的列表了
區(qū)塊是可以嵌套的
<table>
<!-- BEGIN rowlist -->
<tr>
<!-- BEGIN collist -->
<td>[[param]]</td>
<!-- END collist -->
</tr>
<!-- END rowlist -->
</table>
如上所示,這聲明一個嵌套區(qū)塊,這在boeiBlog的像冊部分采用了這種方式,有興趣的朋友可以找出來看看
對于嵌套的模板,我們可以這樣來使用
$t->set_block("show_main","rowlist","RL"); // 里面的參數(shù)從前向后依次是包含的關系,最后一個是別名,主要用來區(qū)塊識別
$t->set_block("rowlist","collist","CL"); // 第一個參數(shù)是外層塊的名稱,第二個是自己的名樂,第三個是別名
循環(huán)這樣的區(qū)塊時要特別注意
如下:
$t->set_block("show_main","rowlist","RL");
$t->set_block("rowlist","collist","CL");
for($i=0;$i<5;$i++)
{
$t->set("CL");// 這里要對追加的列循環(huán)執(zhí)行一次清理,否則會多出一堆東西
for($ii=0;$ii<5;$ii++)
{
$t->set_var("param","boeiBlog");
$t->parse("CL","collist",true);// true參數(shù)表明這是追加
}
$t->parse("RL","rowlist",true);// 這里的true也是表追加
}
上述代碼將會產(chǎn)生一個5X5的表格,每個單元格里會出現(xiàn)一個boeiBlog
set_var:用來作變量替換
上述代碼里的$t->set_var("param","boeiBlog");就是把模板中的param變量替換成boeiBlog這個字符串,當然也可以替換成變量,如:
$curdate = date("Y-m-d");
$t->set_var("param",$curdate);
set_var也有追加屬性,如:
$curdate = date("Y-m-d");
for($i=0;$i<10;$i++)
{
$t->set_var("param","<br>".$curdate,true);
}
這將產(chǎn)生十個連續(xù)的當前日期
有時候可以用set_var的追加屬性來替代block的循環(huán).
set_var是可以用數(shù)組的,如:
$t->set_var(array(
"param"=>"boeiBlog",
"title"=>"柏艾網(wǎng)絡"
));
模板如下:
<table>
<tr>
<td>[[param]],[[title]]</td>
</tr>
</table>
parse:用于解析文件
當我們將模板中的所有變量都處理完之后,可以用parse一將這個模板進行解析。這是模板處理的最后幾道工序。
如:
$t->set_file("show_index","index.htm");
$t->set_file("show_main","main.htm");
$t->set_var("param","boeiBlog");
$t->parse("main","show_main");
我們所用的模板可能是:
main.htm
<table>
<tr>
<td>[[param]]</td>
</tr>
</table>
如果此時還有另外一個模板,其結(jié)構(gòu)如下:
index.htm
<div>[[main]]</div>
那么上述代碼將會把main.htm中的變量替換成boeiBlog后再放到index.htm中的main處,最后形成一個在<div></div>標簽中的表格
解析完成之后便是輸出頁面,
p:用于輸出頁面
如:
$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已經(jīng)被嵌入到index.htm,所以不用$t->p("main");
pparse:同p一樣也用來輸出頁面
如:
上述代碼可以如下簡化
$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結(jié)合到一起,立即完成解析并輸出
get:用于獲得文件內(nèi)容
如:
$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,我們可以輕松的取得生成頁面的內(nèi)容,這可以用于靜態(tài)頁面的生成。可以看到phplib用來處理靜態(tài)頁面是非常方便的
相關文章
linux下perl操作mysql數(shù)據(jù)庫(需要安裝DBI)
有時候需要perl操作mysql數(shù)據(jù)庫,可以通過DBI實現(xiàn),需要的朋友可以參考下2012-05-05
Navicat遠程連接SQL Server并轉(zhuǎn)換成MySQL步驟詳解
最近遇到一個需求是將SQL Server轉(zhuǎn)換為 MySQL的格式,由于不想在本地安裝 SQL Server,所以決定在遠程的 Windows 服務器上安裝,并在本地使用Navicat遠程連接它,然而在實現(xiàn)過程中遇到了諸多問題,記錄于此。感興趣的朋友們下面來一起學習學習吧。2017-01-01
Navicat for MySQL定時備份數(shù)據(jù)庫及數(shù)據(jù)恢復詳解
這篇文章主要介紹了Navicat for MySQL定時備份數(shù)據(jù)庫及數(shù)據(jù)恢復的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10
node 多種方法連接mysql數(shù)據(jù)庫(最新推薦)
mysql是一個流行的第三方模塊,可以通過npm安裝,在Node.js 中,有多種方法可以連接 MySQL 數(shù)據(jù)庫,本文通過實例代碼講解node 多種方法連接mysql數(shù)據(jù)庫的示例代碼,感興趣的朋友跟隨小編一起看看吧2023-07-07
教你自動恢復MySQL數(shù)據(jù)庫的日志文件(binlog)
如果MySQL服務器啟用了二進制日志,你可以使用mysqlbinlog工具來恢復從指定的時間點開始2014-05-05
mysql問題之slow log中出現(xiàn)大量的binlog dump記錄的解決方法
今天在查看mysql中發(fā)現(xiàn)比較慢,然后我使用了slow log,發(fā)現(xiàn)出現(xiàn)了大量的binlog dump記錄,下面我來給大家整理一下這個問題的解決辦法2013-09-09
MYSQL實現(xiàn)連續(xù)簽到功能斷簽一天從頭開始(sql語句)
這篇文章主要介紹了MYSQL實現(xiàn)連續(xù)簽到功能斷簽一天從頭開始,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05

