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ù)從前向后依次是包含的關(guān)系,最后一個是別名,主要用來區(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)絡(luò)"
));
模板如下:
<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)頁面的生成??梢钥吹絧hplib用來處理靜態(tài)頁面是非常方便的
相關(guān)文章
mysql啟動時出現(xiàn)ERROR 2003 (HY000)問題的解決方法
這篇文章主要為大家詳細介紹了mysql啟動時出現(xiàn)ERROR 2003 (HY000問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03mysql中的事務(wù)重做日志(redo log)與回滾日志(undo log)
這篇文章主要介紹了mysql中的事務(wù)重做日志(redo log)與回滾日志(undo log),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05mysql默認編碼為UTF-8 通過修改my.ini實現(xiàn)方法
這篇文章主要介紹了mysql默認編碼為UTF-8 通過修改my.ini實現(xiàn)方法的相關(guān)資料,為了防止出現(xiàn)亂碼,Latin1是不支持漢字的,所以要將其改為UTF-8或GBK,需要的朋友可以參考下2017-01-01詳解如何用SQL取出字段內(nèi)是json的數(shù)據(jù)
數(shù)據(jù)庫中會遇到字段里面存的JSON結(jié)果的數(shù)據(jù),那么如果我們想直接取到JSON里的值該怎么辦呢?其實SQL自帶的函數(shù)就可解決本文就詳細的給大家介紹了如何用SQL取出字段內(nèi)是json的數(shù)據(jù),需要的朋友可以參考下2023-10-10mysql DBA:mysqladmin常用命令總結(jié)
mysqladmin是MySQL一個重要的客戶端,最常見的是使用它來關(guān)閉數(shù)據(jù)庫,除此,該命令還可以了解MySQL運行狀態(tài)、進程信息、進程殺死等。本文介紹一下如何使用mysqladmin extended-status(因為沒有"歧義",所以可以使用ext代替)了解MySQL的運行狀態(tài)2014-03-03