Smarty s01
复习面向过程中,如何输出显示变量的内容
01.php
第一个版本,使用三个文件来输出html
1.访问文件
2.类MyTpl.class.php
3.一个html模板文件
课堂练习第一个版本
第二个版本,在MyTpl类中,添加了一个assign()方法,用于从入口文件分配变量到对象上,
在模板html文件中,可以通过$this->data来访问分配过来的数据
第三个版本
我们让assign()过来的变量,直在模板中使用
模板中不能直接使用入口文件中的变量 ,需要assign()后才能在模板中使用
第四个版本
让display()接收一个模板文件,实现换皮肤功能
MyTpl类,可以通用了,例如在index.php order.php中,都可以使用
第五个版本
在输出内容的方法中,不能出现局部变量(或形参),否则模板中就可以直接使用了
第六个版本
把模板中的php代码消灭掉
第七个版本
对性能的优化
如果模板已经编译好,并模板未更新,就不再编译
第八个版本
让定界符可以自定义 增强用户体验
----------------------------------------------------------------------------
Smarty 3
1.复制其中的libs目录到我们的项目中
2.建一个模板文件 demo.tpl
3.建一个php入口文件demo.php
定界符
{}
如果定界符后有一个空格,则不解析 ***
原样输出
{literal}{/literal}
注释
{*Smarty的注释*}
不会输出到浏览器
变量
{$name}
{$arr[0]} {$arr['name']} 数组
{$arr.0} {$arr.name} 数组,与上一行一样
{$arr.1+1} $arr[1]+1
{$arr.{1+1}} $arr[2]
{$obj->name} 属性
{$obj->say()} 方法的调用
{time()} {myfum()} 调函数 ***
单双引号:
{$str="我是{$username}"}
{$str}
{$str='我是{$username}'}
{$str}
{$str="我是$username"}
{$str}
Smarty s01的更多相关文章
- Smarty的基本使用与总结
含义: Smarty是PHP的一个引擎模板,可以更好的进行逻辑与显示的分离,即我们常说的MVC,这个引擎的作用就是将C分离出来. 环境需求:PHP5.2或者更高版本 我使用的环境是:PHP5.3,wi ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- smarty使用
smarty-牛刀小试 smarty 初识 官网 http://www.smarty.net/ Smarty is a template engine for PHP(PHP模板引擎) smarty使 ...
- Smarty模版引擎的原理
Smarty是一个使用php写出来的模版引擎,用来将原本与html代码混杂在一起PHP代码逻辑分离,实现前后端分离. Smarty模板优点: 1. 速度:采用Smarty编写的程序可以获得最大速度的提 ...
- 12月15日下午Smarty模板函数
1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...
- 12月15日smarty模板基本语法
smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...
- 12月13日上午Smarty模版原理
模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.html <!DOCTYP ...
- SMARTY模板中如何使用get,post,request,cookies,session,server变量
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...
- 在新浪云SAE中使用smarty引擎模版
在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unab ...
随机推荐
- 每天一个linux命令(8):cat 命令
cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...
- Oracle添加数据文件创建表空间,创建用户代码
1,添加数据文件创建表空间 CREATE TABLESPACE "TEST1" DATAFILE 'D:\ORACLE\11G\ORADATA\ORCL\TEST1.DBF' SI ...
- iOS不得姐项目--登录模块的布局,设置文本框占位文字颜色,自定义内部控件竖直排列的按钮
一.登录模块的布局 将一整部分切割成若干部分来完成,如图分成了三部分来完成 设置顶部状态栏为白色的方法 二.设置文本框占位文字颜色 <1>方法一与方法二实现原理是同一种,都是通过设置pla ...
- Html-input文本框只能输入数字
onKeyPress="if ((event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;&qu ...
- jdownload的使用
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 【HDU 5578】Friendship of Frog
题 题意 求相同字母最近距离 分析 用数组保存各个字母最后出现的位置,维护最小距离. 代码 #include <cstdio> int c[30],n,p,a,minl; char ch; ...
- 【CodeForces 472A】Design Tutorial: Learn from Math
题 题意:给你一个大于等于12的数,要你用两个合数表示出来.//合数指自然数中除了能被1和本身整除外,还能被其他的数整除(不包括0)的数. 分析:我们知道偶数除了2都是合数,给你一个偶数,你减去一个偶 ...
- yii2图片上传
yii2利用自带UploadedFile上传图片 public static function uploadFile($name) { $uploadedFile = UploadedFile::ge ...
- BZOJ1086 [SCOI2005]王室联邦
Description “余”人国的国王想重新编制他的国家.他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成 员来管理.他的国家有n个城市,编号为1..n.一些城市之间有道路相连,任意两个 ...
- Win7 + ubuntu14.04 双系统
安装主要分为以下几步:一. 下载Ubuntu 14.04镜像软件:二. 制作U盘启动盘:三. 安装Ubuntu系统:四. 用EasyBCD 创建启动系统. 1. 下载 Ubuntu 14.04 直接到 ...