摘要:<?php session_start(); //啟動 session 會話 // 引入的smarty 模板引擎已經(jīng)寫在 config目錄中 require "./config/config.php&q
<?php session_start(); //啟動 session 會話 // 引入的smarty 模板引擎已經(jīng)寫在 config目錄中 require "./config/config.php"; //1綁定變量 在demo1.html中 是以第一個參數(shù)為變量的 $name = '小龍女'; $smarty->assign('name',$name); //2數(shù)組綁定 $arr = ['html5','javascript','jquery','php','sql']; $smarty->assign('arr1',$arr); //3 關(guān)聯(lián)數(shù)組 $guanlian = ['name'=>'php從入門到放棄','time'=>'2019-10-11','jiage'=>90]; $smarty->assign('book',$guanlian); //4 多維數(shù)組 $duowei[] = ['name'=>'php從入門到放棄','time'=>'2019-10-11','jiage'=>90]; $duowei[] = ['name'=>'java從入門到放棄','time'=>'2020-10-11','jiage'=>40]; $smarty->assign('books',$duowei); //5 對象 //$test = new stdclass(); //$test->title = '這是一個標(biāo)題'; class test{ public $title = 'php中文網(wǎng)'; public function welcome(){ return '歡迎來到'.$this->title; } } $test = new test(); $smarty->assign('test',$test); //6 自定義函數(shù) // 在html中 不要加$ function add($a,$b){ return $a+$b; } //$smarty->assign('add',add); //7 常量const 常量作用域是全局,不必模板復(fù)制可以直接訪問到 $smarty.const.SITE_NAME const SITE_NAME = 'php中文網(wǎng)'; //8 系統(tǒng)變量 需要先將 $_POST['user'] = '超級管理員'; $_GET['age'] = 10; //會話信息 必須的啟動 session_start(); 函數(shù) $_SESSION['pass'] = 'sddsd'; //session 存儲用戶會話信息 //渲染 此處是html文件的標(biāo)簽對應(yīng)綁定到這里 //這里的路勁 是以 模板目錄 為路勁 . 且demo1.html 文件必須存在 $smarty->display('demo1.html'); ?><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>smarty內(nèi)置函數(shù)</title> </head> <body> {* 1.模板中定義變量 *} {assign var="siteName" value="php中文網(wǎng)"} {* 定義變量的簡寫 *} {$model = "article"} {* 2.模板中的分支處理 *} {* 例: 判斷是否是奇數(shù)} {* assign var="data" value=20 *} {$data = 34} {if $data is odd} <p>{$data}是奇數(shù)</p> {else} <p>{$data}是偶數(shù)</p> {/if} {* 例: 判斷成績是否合格? *} {$grade = 55} {if $grade > 80} <p>優(yōu)秀</p> {elseif $grade >= 60} <p>合格</p> {else} <p style="color:red">不及格,準(zhǔn)備補考吧</p> {/if} {* 3.for循環(huán) *} <p>for循環(huán): {for $i=0 to 10 step 2} {$i}, {* 輸出循環(huán)變量,并用逗號分割 *} {forelse} {* 如果條件不成立:將$i修改為100,則會執(zhí)行到這里 *} 循環(huán)條件錯誤 {/for} </p> {* 4.while循環(huán),我們將for案例用while改寫 *} <p>while循環(huán): {$i = 20} {while ($i < 10)} {$i++} {* 遞增輸出循環(huán)變量 *} {/while} </p> {* 5.foreach數(shù)組專用的遍歷函數(shù):與原生PHP的foreach()語句極其相似} {* 遍歷一維數(shù)組 *} {* 定義一個一維關(guān)聯(lián)數(shù)組 *} {$staff = ['name'=>'peter', 'sex'=>'male', 'salary'=>5899]} {* 遍歷一維數(shù)組:通常一維關(guān)聯(lián)數(shù)組的鍵名非常重要 *} {foreach $staff as $key=>$value} {$key}=>{$value} <br> {/foreach} {* 遍歷二維數(shù)組 *} {* 定義一個二維數(shù)組 *} {$mobile = [ ['brand'=>'華為','model'=>'P20', 'price'=>6688], ['brand'=>'蘋果','model'=>'iPhone8', 'price'=>5500], ['brand'=>'小米','model'=>'Mi8', 'price'=>4899] ]} {* 將$mobile數(shù)組置空,就是走到foreachelse分支 *} {* $mobile = [] *} {* 遍歷二維關(guān)聯(lián)數(shù)組:二維數(shù)組的鍵名對于元素不重要,但對于單個元素重要 *} <ul> {foreach $mobile as $value} <li>品牌:{$value.brand},型號:{$value.model},價格:{$value.price}</li> {foreachelse} 沒有手機的數(shù)據(jù) {/foreach} {* 6.直接在模板中定義函數(shù):直接參數(shù)默認值 *} {function name="welcome" site="php中文網(wǎng)"} <p>歡迎來到{$site}學(xué)習(xí)~~</p> {/function} {* 調(diào)用welcome函數(shù) *} {call name="welcome"} {call name="welcome" site="PHP中文網(wǎng)(ipnx.cn)"} {* 函數(shù)定義的簡寫 *} {* 定義函數(shù) *} {function welcome } <p>歡迎來到{$site}學(xué)習(xí)PHP編程!</p> {/function} {* 調(diào)用 *} {welcome site='ipnx.cn'} </ul> </body> </html>
批改老師:西門大官人批改時間:2019-03-03 14:21:59
老師總結(jié):smarty是一個比較簡單的模板引擎,它有自己的語法,在實際開發(fā)中,只要記住它的語法就可以使用。它的運行原理是把模板中的語法規(guī)則解析成php的語言,然后再執(zhí)行