其實本人也正在學PHP,所以就把學習PHP時的心得體會與所學到的知識分享一下吧,所以這一系列教程(或者是心得吧),將圍繞在初學PHP過程中遇到的問題和需要注意的地方。
這是關于PHP中Smarty模板技術的第一編,為什么要說模板技術呢?原因很簡單,如果你想做一個合格的PHP程序員的話,如果你想開發一個結構合理、移植方便的系統的話,那就要留意一下PHP的模板技術,而在PHP的模板技術中,Smarty是一個不錯的選擇。
使用模板化主要有兩個原因:1、可以使用同樣的代碼基為不同的目標生成數據。2、應用程序設計人員(負責創建和維護界面的人)可以與應用程序開發人員獨立工作,因為用表現和邏輯并非密不可分地糾纏在一起。但模板化引擎如何完成這種分離?有趣的是,大多數實現的做法與編程語言非常相似,為完成各種與界面有關的任務提供了良好的定義的語法和命令集。
Smarty提供了很多強大的功能。
1、強大的表現邏輯
2、模板編譯
3、緩存
4、高度可配置和可擴展
5、安全
如何使用Smarty?
使用Smarty與使用其它任何類庫一樣。對于初學者,只需要在執行腳本中使Smarty類庫可用。實現這一點非常容易,使用 require() 語句即可:
require("Smarty.class.php");
之后,就可以實例化Smarty類:
$smarty = new Smarty;
現在,就可以用Smarty來做東西了。下面看看一個小例子:
以下是模板文件 index.tpl :
1 <html>
2 <head>
3 <title>{$title}</title>
4 </head>
5 <body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
6 <p>
7 Hi,{$name}.Welcome to the wonderful world of Smarty.
8 </p>
9 </body>
10 </html>
以下是PHP頁面方面代碼 index.php:
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign("name","JiangZone");
$smarty->assign("title","Jiang's Blog");
$smarty->display("index.tpl");
?>
從以上兩段代碼可以看得到,index.tpl文件是頁面文件,沒有業務邏輯代碼,只有{$name},{$title},初學者可能覺得怪,不過如果有Java基礎的話,應該看得出,它跟Jsp的EL表達式有點類似,或者跟標簽庫功能有點像。這樣看上去,頁面跟程序邏輯就分開來了,設計師專注于他的頁面設計,需要放入處理后的值的話,就加上個{$name}等標記,而程序員則專注于程序邏輯的實現,將處理結果放到模板頁面那里相應的變量位置。明眼人可能很快看得出,上面PHP代碼里,$smarty->assign("name","JiangZone");就是一個對模板賦值的過程,意為為模板中的變量$name 的值設為字符串“JiangZone”,下面的也是一樣,而最后那句,$smarty->display("index.tpl");則是將上面設置好的值應用到index.tpl模板上,并將應用后的結果輸出到客戶端。
posted on 2008-07-29 13:46
姜大叔 閱讀(521)
評論(0) 編輯 收藏 所屬分類:
PHP