smarty 快速入門
smarty
定義:一個開源的模板引擎
模板引擎是為了使用戶界面與業務數據分離而產生的,它可以生成特定格式的文檔,用于網站的模板引擎就會生成一個標準的HTML文檔。
功能
將網站的數據和網站的界面實現分離(php和html代碼)
緩存頁面
下載
www.smarty.net
使用
1.引入smarty類庫
2.實例化smarty對象
3.初始化參數
template_dir ?模板存放目錄
compile_dir ?編譯目錄
4.分配變量
5.解析模板
注釋 ? ?{* 這是注釋的內容*}
忽略smarty解析 ? ? {literal} {/literal}
例子:
//第一步移入smarty類
require './libs/Smarty.class.php';
//第二步實例化對象
$s = new Smarty;
//第三步初始化
$s->template_dir = './View';
$s->compile_dir = './View_c';
$pdo = new PDO('mysql:host=localhost;dbname=pass;charset=utf8','root','');
$stmt = $pdo->query('select * from news');
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
//var_dump($res);
//第四步 分配變量
$s->assign('title','新聞管理系統???????????');
// $s->assign('name','什么呢????');
$s->assign('res',$res);
//第五步 解析模板
$s->display('add.html');
//建立 view文件存放改變網頁 view_c轉換文件
add.html
{extends file='index.html'}
{block name='title'}
新聞添加頁面{/block}
{block name='content'}
發布新聞
標題: | ||
關鍵字: | ||
作者: | ||
內容: | ||
{/block}
index.html
{block name='title'}
新聞管理系統{/block}
{literal}
table,td{font-family:微軟雅黑;text-align:center;}
h3{font-family:微軟雅黑;}
{/literal}
{include file='menu.html'}
{block name='content'}
瀏覽新聞
新聞ID | 新聞標題 | 新聞關鍵字 | 作者 | 新聞內容 | 操作 |
---|
{foreach $res as $v}
= $v['id']?>= $v['title']?>= $v['price']?>= $v['url']?>{/foreach}
{/block}
menu.html
body{ font-family:微軟雅黑;}
新聞管理系統
瀏覽新聞 ?|
發布新聞
##smarty
//第一步移入smarty類
require './libs/Smarty.class.php';
//第二部實例化對象
$s = new Smarty;
//第三部初始化
//模版目錄初始化,模版存放目錄
$s->template_dir = './View';
//編譯目錄
$s->compile_dir = './View_c';
$pdo = new PDO('mysql:host=localhost;dbname = pass;charset = utf8','root','');
$stmt = $pdo->query('select * from stu');
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
//第四步分配變量
$s->assign('title','smart的一個模版');
$s->assing('name','mingzi');
$s->assing('res','$res');
//第五步解析模版
$s->display('2.html');
2.html更改
{$ title}
{$name}
{foreach $res as $v}
{$v['id']}
{$v['name']}
{/foreach}
{literal}
{/literal}
{include file='menu.html'}??引入
{block name ='content'}s
mysqli
//引入文件/
define('HOST','localhost');
define('USER','root');
define('PWD','');
define('DBNAME','pass');
define('UTF','utf8');
$link = @mysqli_connect(HOST,USER,PWD) or die('連接失敗')
mysqli_select_db($link,DBNAME);??//選擇數據庫
mysqli_set_charset($link,UTF);????//字符集
$sql = 'select * from news order by id');
$result = mysqli_query($link,$sql);
//查詢結果輔助函數
mysqli_num_rows($result)>0
mysqli_fetch_assoc($result)???得到關聯數組
mysqli_close($link)??//關閉數據庫