夺命雷公狗---Smarty NO:03 设计篇1
1、模板注释
基本语法:
{* Smarty注释 *}
demo.php
示例代码:
<?php //1.加载smarty项目入口文件 require “smarty/Smarty.class.php”; //2.创建smarty对象 $smarty = new Smarty(); //3.初始化信息 //4.通过assign方法去分配到模版文件 //5.通过display方法显示输出信息 $smarty -> display(‘demo.html’);
demo.html
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> {*这是在smarty里面的注释方法噢,嘻嘻*} </body> </html>
说明:Smarty中模板注释属于服务端注释,所以其被不会输出显示在客户端浏览器的源码中。
2、模板中的变量
1)从PHP中分配的变量
2)从配置文件中读取变量
3)在模板文件中创建
1)从PHP中分配的变量
普通变量、数组、对象
示例代码:
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> {*这是在smarty里面的注释方法噢,嘻嘻*} {*普通变量*} {$str} <hr/> {*一维数组*} <ul> <li>{$lamp[0]}</li> <li>{$lamp[1]}</li> <li>{$lamp[2]}</li> <li>{$lamp[3]}</li> </ul> <hr/> {*多维数组*} <table border=’1′> <tr> <td>姓名</td> <td>年龄</td> <td>性别</td> </tr> <tr> <td>{$persons[0][0]}</td> <td>{$persons[0][1]}</td> <td>{$persons[0][2]}</td> </tr> </table> <hr/> {*对象类型*} {$stu->speak()} </body> </html>
demo.html
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> {*This is a Smarty Template*} {*普通变量*} {$str} <hr/> {*一维数组*} <ul> <li>{$lamp[0]}</li> <li>{$lamp[1]}</li> <li>{$lamp[2]}</li> <li>{$lamp[3]}</li> </ul> <hr/> {*多维数组*} <table border=’1′> <tr> <td>姓名</td> <td>年龄</td> <td>性别</td> </tr> <tr> <td>{$persons[0][0]}</td> <td>{$persons[0][1]}</td> <td>{$persons[0][2]}</td> </tr> </table> <hr/> {*对象类型*} {$stu->speak()} </body> </html>
2)从配置文件中读取变量
在Smarty中,配置主要用于页面信息的输出显示
demo02.html
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> {config_load file=’config.conf’} {#title#} <!–引入配置文件中的变量–> </body> </html>
configs/config.conf
title=Hello Smarty
3)在模板中直接定义变量
基本语法:
{assign var=’变量名称’ value=’变量的值’}
{$变量名称=’变量的值’}
调用形式如下:
{$变量名称}
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> {*自定义变量定义的两种方式*} {assign var = ‘name’ value = ‘lisi’} {$age = ’55’} {*自定义变量的调用*} {$name} {$age} </body> </html>
3、Smarty中的常用保留变量
在Smarty系统,通过$smarty开头的变量都属于系统保留变量
$smarty.get.page :相当于PHP中的$_GET[‘page’];
$smarty.post.page :相当于$_POST[‘page’];
$smarty.cookies.username :$_COOKIE[‘username’];
$smarty.server.SERVER_NAME :$_SERVER[‘SERVER_NAME’];
$smarty.env.Path :$_ENV[‘Path’];
$smarty.session.id :$_SESSION[‘id’];
$smarty.request.username :$_REQUEST[‘username’];
{$smarty.now} :返回系统时间的时间戳
{$smarty.const} :返回系统中的常量信息
{$smarty.capture} :输出capture标签所捕获的内容
{$smarty.config} :获取配置文件中的信息
{$smarty.section} :读取section循环信息
{$smarty.template} :读取当前正在操作的模板信息
{$smarty.current_dir} :读取当前目录
{$smarty.version} :读取当前Smarty版本号
{$smarty.ldelim} :读取左分界符
{$smarty.rdelim} :读取右分界符
注:如需要使用ENV环境变量,请在php.ini文件中,设置一下变量:
示例代码:
demo02.html
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> 读取页面中的GET信息:{$smarty.get.page} <hr/> 读取页面中的session信息:{$smarty.session.username} <hr/> 读取smarty版本:{$smarty.version} <hr/> 读取系统时间的时间戳:{$smarty.now} <hr/> 读取系统中的环境变量Path:{$smarty.env.Path} </body> </html>
demo02.php
<?php require “smarty/Smarty.class.php”; $smarty = new Smarty(); $_SESSION[‘username’] = ‘admin'; $smarty -> display(“demo2.html”);