PHP 模板smarty練習(xí)
一.練習(xí)環(huán)境
smarty_inc為smarty lib庫(kù)
smarty_inc.php導(dǎo)入庫(kù)文件
config_dir="Smarty/Config_File.class.php";
$smarty->caching=false; //緩存
$smarty->template_dir = "./templates"; //模板文件
$smarty->compile_dir = "./templates_c"; // 設(shè)定編譯文件的存儲(chǔ)路徑
//$smarty->cache_dir = "./smarty_cache";
$smarty->left_delimiter = "{";
$smarty->right_delimiter = "}";
?>
二.smarty變量練習(xí)
$smarty->assign 設(shè)置傳輸變量
$smarty->display 加載模板
index.php
assign('str',$str);
$smarty->display("index.html");
?>
index.html
smarty test
{$str}
訪問(wèn)localhost/smarty/index.php 直接轉(zhuǎn)到index.html
this is my home!
三.smarty數(shù)組練習(xí)
index.php
assign('name',$students);
$smarty->display("index.html");
index.html
smarty test
{section name=stu loop=$name}
{$name[stu]}
{sectionelse}
無(wú)內(nèi)容
{/section}
四.smarty二維數(shù)組練習(xí)
index.php
'sunqiang'];
$students[] = ['stu_name'=>'liuyao'];
$students[] = ['stu_name'=>'yuxx'];
$smarty->assign('name',$students);
$smarty->display("index.html");
index.html
smarty test
{section name=stu loop=$name}
{$name[stu].stu_name}
{sectionelse}
無(wú)內(nèi)容
{/section}
五.smarty標(biāo)量操作符練習(xí)
index.php
assign('str',$str);
$smarty->assign('time',time());
$smarty->assign('score',123.456);
$smarty->display("index.html");
index.html
smarty test
原始字符:{$str}
首字母大寫(xiě):{$str|capitalize}
計(jì)算字符數(shù):{$str|count_characters}
連接內(nèi)容:{$str|cat:' i love study php'}
段落數(shù):{$str|count_paragraphs}
計(jì)算句數(shù):{$str|count_sentences}
計(jì)算單詞數(shù):{$str|count_words}
日期顯示:{$time|date_format:'%Y-%m-%d %H:%M:%S'} | {$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'} | {$smarty.now}
默認(rèn)顯示值:{$str1|default:'no content'}
轉(zhuǎn)碼:{$str|escape:url} | {$str|escape:html}
縮進(jìn):{$str|indent:5:'.'} | {$str|indent:5:'?'}
大寫(xiě):{$str|upper}
小寫(xiě):{$str|lower}
替換:{$str|replace:'my':'your'} | {$str|replace:'my':'**'}
字符串格式化:{$score|string_format:'%.2f'} | {$score|string_format:'%d'}
去空格:{$str|strip:''} | {$str|strip:'_'}
去html標(biāo)簽:{$str|strip_tags}
截?。簕$str|truncate:10:'...'}
行寬約束:{$str|wordwrap:10:'
'}
六.smarty內(nèi)置函數(shù)練習(xí)
1.有鍵值數(shù)組
index.php
'sq','teacher2'=>'ly','teacher3'=>'yxx'];
$smarty->assign('teacher_name',$arr_str);
$smarty->display("index.html");
index.html
smarty test
{foreach from=$teacher_name item=name key=teach}
數(shù)組內(nèi)容:{$teach} - {$name}
{/foreach}
2.無(wú)鍵值數(shù)組
index.php
assign('teacher_name',$arr_str);
$smarty->display("index.html");
index.html
smarty test
{foreach from=$teacher_name item=name key=teach}
數(shù)組內(nèi)容:{$teach} - {$name}
{/foreach}
index.php
assign('teacher_name',$arr_str);
$smarty->display("index.html");
index.html
smarty test
{foreach from=$teacher_name item=name}
數(shù)組內(nèi)容:{$name}
{/foreach}
3.if條件語(yǔ)句
index.html
smarty test
條件語(yǔ)句:
{if name==''}
沒(méi)有設(shè)置內(nèi)容
{else}
有設(shè)置內(nèi)容
{/if}
因?yàn)閕ndex.php沒(méi)有設(shè)置這個(gè)變量,所有顯示沒(méi)有設(shè)置內(nèi)容
4.include的使用
在模板下創(chuàng)建一個(gè)拼接文件head.html
index.html
smarty test
{include file='head.html'}
條件語(yǔ)句:
{if name==''}
沒(méi)有設(shè)置內(nèi)容
{else}
有設(shè)置內(nèi)容
{/if}
注:
{include file=‘d:\www\index2.php’} 可以是別的目錄下的引入文件
{include file='head.html' title=‘menu’}引入head.html,將title的值傳給head.html的中的變量title
5.literal的使用
literal數(shù)據(jù)將被當(dāng)作文本處理,此時(shí)模板將忽略其內(nèi)部的所有字符信息,該特性用于顯示有可能包含大括號(hào)等字符信息的javascript腳本,因?yàn)樵谀0逶O(shè)置中php的邊界設(shè)定為大括號(hào),防止沖突。
{literal}
{/literal}
6.Strip的使用
strip標(biāo)記中數(shù)據(jù)的首尾空格和回車(chē),這樣可以保證模板容易理解且不用擔(dān)心多余的空格導(dǎo)致問(wèn)題,使用會(huì)做整行的處理,但內(nèi)容不變,同時(shí)節(jié)省了流量,還可以保護(hù)代碼。
使用時(shí)在html代碼 頭和尾
{strip}
{/strip}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。