phplib中的一些基本語法和函數(shù)
語法介紹:
phplib中常用的方法有set_file,set_block,set_var,parse,ppasre,p,get等。
聲明:由于本系統(tǒng)采用的是phplib,如果頁面中有大括號對,這將會(huì)替換成空白,所以在寫此文章時(shí),用"[[","]]"來替代大括號。大家在用的時(shí)候是用大括號便是,此處僅為寫文章方便而作此約定。
set_file:是用來引入模板文件。
用法:
$t->set_file("show_main","main.htm");
或
$t->set_file(array(
"show_header"=>"header.htm",
"show_main"=>"main.htm"
));
set_block:用來聲明一個(gè)區(qū)塊
用法:
$t->set_block("show_main","rowlist","RL");
稍微解釋一下,show_main是用set_file取得的文件句柄,rowlist是模板頁面中的區(qū)域標(biāo)識一般如下方式來寫
<table>
<!-- BEGIN rowlist -->
<tr>
<td>[[param]]</td>
</tr>
<!-- END rowlist -->
</table>
如上是將<tr></tr>作為了一個(gè)區(qū)塊,這樣就可以用循環(huán)來生成多行的列表了
區(qū)塊是可以嵌套的
<table>
<!-- BEGIN rowlist -->
<tr>
<!-- BEGIN collist -->
<td>[[param]]</td>
<!-- END collist -->
</tr>
<!-- END rowlist -->
</table>
如上所示,這聲明一個(gè)嵌套區(qū)塊,這在boeiBlog的像冊部分采用了這種方式,有興趣的朋友可以找出來看看
對于嵌套的模板,我們可以這樣來使用
$t->set_block("show_main","rowlist","RL"); // 里面的參數(shù)從前向后依次是包含的關(guān)系,最后一個(gè)是別名,主要用來區(qū)塊識別
$t->set_block("rowlist","collist","CL"); // 第一個(gè)參數(shù)是外層塊的名稱,第二個(gè)是自己的名樂,第三個(gè)是別名
循環(huán)這樣的區(qū)塊時(shí)要特別注意
如下:
$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í)行一次清理,否則會(huì)多出一堆東西
for($ii=0;$ii<5;$ii++)
{
$t->set_var("param","boeiBlog");
$t->parse("CL","collist",true);// true參數(shù)表明這是追加
}
$t->parse("RL","rowlist",true);// 這里的true也是表追加
}
上述代碼將會(huì)產(chǎn)生一個(gè)5X5的表格,每個(gè)單元格里會(huì)出現(xiàn)一個(gè)boeiBlog
set_var:用來作變量替換
上述代碼里的$t->set_var("param","boeiBlog");就是把模板中的param變量替換成boeiBlog這個(gè)字符串,當(dāng)然也可以替換成變量,如:
$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)生十個(gè)連續(xù)的當(dāng)前日期
有時(shí)候可以用set_var的追加屬性來替代block的循環(huán).
set_var是可以用數(shù)組的,如:
$t->set_var(array(
"param"=>"boeiBlog",
"title"=>"柏艾網(wǎng)絡(luò)"
));
模板如下:
<table>
<tr>
<td>[[param]],[[title]]</td>
</tr>
</table>
parse:用于解析文件
當(dāng)我們將模板中的所有變量都處理完之后,可以用parse一將這個(gè)模板進(jìn)行解析。這是模板處理的最后幾道工序。
如:
$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>
如果此時(shí)還有另外一個(gè)模板,其結(jié)構(gòu)如下:
index.htm
<div>[[main]]</div>
那么上述代碼將會(huì)把main.htm中的變量替換成boeiBlog后再放到index.htm中的main處,最后形成一個(gè)在<div></div>標(biāo)簽中的表格
解析完成之后便是輸出頁面,
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");// 此處便會(huì)將整個(gè)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;// 你將會(huì)看到這實(shí)際上和p是一樣的。
利用get,我們可以輕松的取得生成頁面的內(nèi)容,這可以用于靜態(tài)頁面的生成??梢钥吹絧hplib用來處理靜態(tài)頁面是非常方便的
相關(guān)文章
MySQL與PHP的基礎(chǔ)與應(yīng)用專題之索引
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從索引開始2022-02-02mysql啟動(dòng)時(shí)出現(xiàn)ERROR 2003 (HY000)問題的解決方法
這篇文章主要為大家詳細(xì)介紹了mysql啟動(dòng)時(shí)出現(xiàn)ERROR 2003 (HY000問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03mysql中的事務(wù)重做日志(redo log)與回滾日志(undo log)
這篇文章主要介紹了mysql中的事務(wù)重做日志(redo log)與回滾日志(undo log),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05MySQL實(shí)現(xiàn)用逗號進(jìn)行拼接、以逗號進(jìn)行分割
這篇文章主要介紹了MySQL實(shí)現(xiàn)用逗號進(jìn)行拼接、以逗號進(jìn)行分割問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12mysql默認(rèn)編碼為UTF-8 通過修改my.ini實(shí)現(xiàn)方法
這篇文章主要介紹了mysql默認(rèn)編碼為UTF-8 通過修改my.ini實(shí)現(xiàn)方法的相關(guān)資料,為了防止出現(xiàn)亂碼,Latin1是不支持漢字的,所以要將其改為UTF-8或GBK,需要的朋友可以參考下2017-01-01詳解如何用SQL取出字段內(nèi)是json的數(shù)據(jù)
數(shù)據(jù)庫中會(huì)遇到字段里面存的JSON結(jié)果的數(shù)據(jù),那么如果我們想直接取到JSON里的值該怎么辦呢?其實(shí)SQL自帶的函數(shù)就可解決本文就詳細(xì)的給大家介紹了如何用SQL取出字段內(nèi)是json的數(shù)據(jù),需要的朋友可以參考下2023-10-10mysql DBA:mysqladmin常用命令總結(jié)
mysqladmin是MySQL一個(gè)重要的客戶端,最常見的是使用它來關(guān)閉數(shù)據(jù)庫,除此,該命令還可以了解MySQL運(yùn)行狀態(tài)、進(jìn)程信息、進(jìn)程殺死等。本文介紹一下如何使用mysqladmin extended-status(因?yàn)闆]有"歧義",所以可以使用ext代替)了解MySQL的運(yùn)行狀態(tài)2014-03-03