<?php session_start(); //启动 session 会话 // 引入的smarty 模板引擎已经写在 config目录中 require "./config/config.php"; //1绑定变量 在demo1.html中 是以第一个参数为变量的 $name = '小龙女'; $smarty->assign('name',$name); //2数组绑定 $arr = ['html5','javascript','jquery','php','sql']; $smarty->assign('arr1',$arr); //3 关联数组 $guanlian = ['name'=>'php从入门到放弃','time'=>'2019-10-11','jiage'=>90]; $smarty->assign('book',$guanlian); //4 多维数组 $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 = '这是一个标题'; class test{ public $title = 'php中文网'; public function welcome(){ return '欢迎来到'.$this->title; } } $test = new test(); $smarty->assign('test',$test); //6 自定义函数 // 在html中 不要加$ function add($a,$b){ return $a+$b; } //$smarty->assign('add',add); //7 常量const 常量作用域是全局,不必模板复制可以直接访问到 $smarty.const.SITE_NAME const SITE_NAME = 'php中文网'; //8 系统变量 需要先将 $_POST['user'] = '超级管理员'; $_GET['age'] = 10; //会话信息 必须的启动 session_start(); 函数 $_SESSION['pass'] = 'sddsd'; //session 存储用户会话信息 //渲染 此处是html文件的标签对应绑定到这里 //这里的路劲 是以 模板目录 为路劲 . 且demo1.html 文件必须存在 $smarty->display('demo1.html'); ?><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>smarty内置函数</title> </head> <body> {* 1.模板中定义变量 *} {assign var="siteName" value="php中文网"} {* 定义变量的简写 *} {$model = "article"} {* 2.模板中的分支处理 *} {* 例: 判断是否是奇数} {* assign var="data" value=20 *} {$data = 34} {if $data is odd} <p>{$data}是奇数</p> {else} <p>{$data}是偶数</p> {/if} {* 例: 判断成绩是否合格? *} {$grade = 55} {if $grade > 80} <p>优秀</p> {elseif $grade >= 60} <p>合格</p> {else} <p style="color:red">不及格,准备补考吧</p> {/if} {* 3.for循环 *} <p>for循环: {for $i=0 to 10 step 2} {$i}, {* 输出循环变量,并用逗号分割 *} {forelse} {* 如果条件不成立:将$i修改为100,则会执行到这里 *} 循环条件错误 {/for} </p> {* 4.while循环,我们将for案例用while改写 *} <p>while循环: {$i = 20} {while ($i < 10)} {$i++} {* 递增输出循环变量 *} {/while} </p> {* 5.foreach数组专用的遍历函数:与原生PHP的foreach()语句极其相似} {* 遍历一维数组 *} {* 定义一个一维关联数组 *} {$staff = ['name'=>'peter', 'sex'=>'male', 'salary'=>5899]} {* 遍历一维数组:通常一维关联数组的键名非常重要 *} {foreach $staff as $key=>$value} {$key}=>{$value} <br> {/foreach} {* 遍历二维数组 *} {* 定义一个二维数组 *} {$mobile = [ ['brand'=>'华为','model'=>'P20', 'price'=>6688], ['brand'=>'苹果','model'=>'iPhone8', 'price'=>5500], ['brand'=>'小米','model'=>'Mi8', 'price'=>4899] ]} {* 将$mobile数组置空,就是走到foreachelse分支 *} {* $mobile = [] *} {* 遍历二维关联数组:二维数组的键名对于元素不重要,但对于单个元素重要 *} <ul> {foreach $mobile as $value} <li>品牌:{$value.brand},型号:{$value.model},价格:{$value.price}</li> {foreachelse} 没有手机的数据 {/foreach} {* 6.直接在模板中定义函数:直接参数默认值 *} {function name="welcome" site="php中文网"} <p>欢迎来到{$site}学习~~</p> {/function} {* 调用welcome函数 *} {call name="welcome"} {call name="welcome" site="PHP中文网(www.php.cn)"} {* 函数定义的简写 *} {* 定义函数 *} {function welcome } <p>欢迎来到{$site}学习PHP编程!</p> {/function} {* 调用 *} {welcome site='www.php.cn'} </ul> </body> </html>