**乙個phplib template教程。
第五章 模板巢狀
在寫php頁面的時候,我們會發現像頁面頭部分和尾部分,有好多頁都要用,每頁寫一遍就太麻煩了,這些」公用**」我們可以把它單獨寫在乙個檔案裡,如果這個公用部分要有所改動,無需再去改每乙個頁面,能減少非常多的工作量。用template模板可以很方便的把乙個頁面隨意插入另乙個模板的任意地方。
新建3個檔案third.htm、header.htm、footer.htm,內容分為如下
third.htm
下面是乙個列表
header.htm
下面我們開始我們的php程式:
<?php
include (』template.inc』);
$tpl = new template;
$tpl->set_file(』main』, 『third.htm』);
$tpl->set_file(』my_header』, 『header.htm』);
$tpl->set_file(』my_footer』, 『footer.htm』);
$tpl->set_var(』title』, 『這個是網頁標題』);
$tpl->set_block(』main』, 『list』, 『nlist』);
$link=mysql_connect(』localhost』,'fuyatao』,'passwd』);
$result=mysql_db_query(』fyt』,』select name,tall from my_table』);
while ( $a = mysql_fetch_array($result))
$tpl->parse(』header』, 『my_header』);
$tpl->parse(footer, my_footer);
$tpl->parse(』mains』, 『main』);
$tpl->p(』mains』);
?>
最後看看結果,一切正如我們期待的那樣呈現出來。
四月 23rd, 2006
第四章 block的應用
是不是有點煩瑣?本來沒用模板之前,我們用了一句
while ($a = mysql_fetch_array($result)) 就搞定了,用了模板,反而要寫4次,如果是100人的列表,豈不是我們要寫100次?天啊!夠嚇人的。好在phplib templete為我們提供了block,將其真譯為「塊」。通過定義塊,也可以用一行輕鬆搞定。
需要注意的是,begin list與前後的中劃線–之間必須有空格,前後中劃都是兩個,此處可能由於顯示太小,兩個中劃線連到一塊兒了。
在 second.php中需要載入塊。
<?php
include (』template.inc』);
$tpl = new template;
$tpl->set_file(』main』, 』second.htm』);
$tpl->set_block(』main』, 『list』, 『nlist』); //載入模板main中的塊list,並給其乙個名字nlist
$link=mysql_connect(』localhost』,'fuyatao』,'passwd』);
$result=mysql_db_query(』fyt』,』select name,tall from my_table』);
while ( $a = mysql_fetch_array($result))
$tpl->parse(』mains』, 『main』);
$tpl->p(』mains』);
?>
四月 23rd, 2006
第三章 稍複雜點的應用
現在我們設想稍微複雜一點的情況,新建乙個second.htm模板檔案,內容為:
下面是乙個列表
以上頁面是純靜態的,假設要使用資料庫,用php**嵌入html的話,是這樣寫的:
下面是乙個列表
<?php
$link=mysql_connect(』localhost』,'fuyatao』,』 passwd』);
$result=mysql_db_query(』gfs』,』select name,tall from my_table』);
echo 「
php新手一般都這樣寫,但你很快發現:你或者美工改這個列表樣式的時候需要多麼的小心翼翼,特別是美工,如果他不懂php**,那麼他會終日在恐懼之中!因為稍微的不小心,可能就會帶來程式的執行錯誤。對於頁面的維護來說,非常不方便。即便是你自己寫的**,過一段時間你也可能有所遺忘,修改起來一樣要備加小心。
現在有了模板,你可以把php**抽取出來。 我們可以這樣修改second.htm檔案。
下面是乙個列表
建立second.php:
<?php
include (』template.inc』);
$tpl = new template;
$tpl->set_file(』main』, 』second.htm』);
$link=mysql_connect(』localhost』,'fuyatao』,'passwd』);
$result=mysql_db_query(』fyt』,』select name,tall from my_table』);
$i=0;
while ( $a = mysql_fetch_array($result))
$tpl->parse(』mains』, 『main』);
$tpl->p(』mains』, 『main』);
?>
在瀏覽器裡執行 second.php 一樣會得到正確的結果。這樣以後不管是你還是美工修改頁面的時候,再也不用膽顫心驚、擔心會把程式弄壞了。
四月 23rd, 2006
第二章 第乙個簡單的模板頁
我理解,所謂」模板」,就是將介面和實現**分離開來,這樣做的目的一是將美工和程式設計師的工作分離開來,提高工作效率,二是方便維護。下面我們就開始嘗試寫乙個簡單的模板了,檔名first.htm。
< /body>
< /html>
first.html模板中的可以稱為」模板變數」,用花括號({})括起來。
上面我們定義三個變數的原因是我們想隨時改變它們的值,下面我們就來做這個工作。新建first.php檔案,內容如下:
<?php
include (』template.inc』); //包含進模板類 template.inc
$tpl = new template; //建立乙個新模板
$tpl->set_file(』main』, 『first.html』); //把模板檔案載入進來
$tpl->set_var(』man』, 『fuyatao』); // //給檔案中的模板變數賦值
$tpl->set_var(』author』, 『fuyatao』);
$tpl->parse(』mains』, 『main』); // //完成替換
$tpl->p(』mains』); // //輸出替換的結果
?>
你也可以一次完成給變數賦值,這樣
$tpl->set_var(
array(』man』=>』fuyatao』, 『author』=>』fuyatao』)
);初次嘗試還算順利吧?如果沒有如你所願地看到上述文字,那一定是你**弄錯了。瀏覽器會有提示。還有如果你將這些**複製到本機不能正確執行,有可能是標點符號的問題,必須用英文的標點符號,程式中用中文的引號或分號都會引起程式不能正常執行,本人就曾經吃過這個虧,反覆檢查程式沒有錯,可就是執行不了,後來才發現是乙個地方用錯了標點。
四月 23rd, 2006
第一章 如何進行安裝配置
php世界中比較流行的模板處理工具有phplib template和fasttemplate兩種。據筆者看有關資料介紹,phplib template的技術易用性和速度較為理想,所以俺就學習使用了phplib template。
phplib template 的安裝其實非常簡單。現在說簡單,呵呵,其實剛開始上手的時候竟然花了好幾天的功夫才知道大概是怎麼一回事兒。那我們首先來認識一下phplib吧。
隨著php的應用和推廣,眾多開發人員和很多愛好者在php的基礎上開發了很多php的程式庫,這些程式庫大大簡化了程式設計和提高了**的可重用性。其中phplib就是這些庫中相當優秀的產品。phplib有五大功能:將資料庫驅動和對資料庫操作完全分離;支援session;許可權許可;模板;購物車。我們要用的模板功能只是phplib這個庫的諸多功能中的一種。筆者剛開始看phplib 的網方官站 ,就看得一頭霧水,怎麼還有資料庫、session等等,最後才明白原來俺需要的只是template。
JS簡簡簡易時鐘
簡易時鐘 1 搭建html css部分 插入時鐘背景,使用子絕父相。把時針和分針 秒針的樣式放在時鐘的中心位置 2 js邏輯部分 1 獲取時針 分針 秒針 var hour document.getelementbyid hour var min document.getelementbyid mi...
Metasploit Framework 簡單介紹
1.簡介 metasploit framework 是乙個緩衝區溢位測試使用的輔助工具,也可以說是乙個漏洞利用和測試平台。它整合了各平台上常見的溢位漏洞和流行的shellcode,並且不斷更新,使得緩衝區溢位測試變得方便和簡單。2.主頁 1 選定使用的漏洞 use 2 設定漏洞利用的環境 targe...
android PagerAdapter簡單應用
pageradapter是android.support.v4包中的類,它的子類有fragmentpageradapter fragmentstatepageradapter,這兩個adapter都是fragment的介面卡,用於實現fragment的滑動效果 pageradapter主要是view...