模板引擎(smarty)知识点总结四
/*
smarty 引入对象
*/
require_once 'libs/Smarty.class.php';
require 'MySmarty.class.php';
$msma = new MySmarty();
class stu{
public $name = '蒋金佚';
public $sex = '男';
function sayAge(){
echo '我今年21岁了<hr/>';
}
}
$stu1 = new stu();
//对象的使用方法 $标签名->属性 $标签名->方法
$msma->assign('stu1',$stu1);
<pre>
对象的使用方法 $标签名->属性 $标签名->方法
</pre>
<p>
My Name is {$stu1->name}<br/>
I'm a {$stu1->sex}<br/>
{$stu1->sayAge()}
</p>
/*
smarty 数学运算
*/
/*
模板的数学运算
{$num1}*{$num2}这是当成字符串连接 结果为 10*20 + - 、 % 一样
*/
$msma->assign('num1',10);
$msma->assign('num2',20);
$msma->display('temp8.html');
<pre>
模板的数学运算
{$num1}*{$num2}这是当成字符串连接 结果为 10*20 + - 、 % 一样
{$num1*$num2} {$num1-$num2} {$num1/$num2} {$num1+$num2} {$num1%$num2} 这才是进行数学运算
</pre>
<p>
加法:{$num1+50}<br/>
减法:{$num2-10}<br/>
乘法:{$num1*$num2}<br/>
除法:{100/$num2}<hr/>这种$标签在后面的写法在版本2.6是不支持的 建设为了兼容版本使用 $标签名在前
<br/>模运算 {$num2%2}
<br/>
{if ($num2%2) eq 0}
是偶数
{/if}
</p>
/*
smarty 逻辑判断
*/
/*
可以使用以下条件修饰词:eq、ne、neq、gt、lt、lte、le、gte、ge、is even、is odd、is not even、is not odd、not、mod、div by、even by、odd by、==、!=、>、<、<=、>=. 使用这些修饰词时必须和变量或常量用空格格开.
*/
$msma->assign('num1',10);
$msma->assign('num2',20);
$msma->append('id','1a');
$msma->append('id','2a');
$msma->append('id','3a');
$msma->append('id','4a');
$msma->display('temp9.html');
<pre>
模板的逻辑判断
</pre>
<p>
{if $num1 == $num2}
相等的
{else}
不相等
{/if}
{if $num2 <}
你大了
{else if ($num2%2) == 0}
你是偶数
{/if}
</p>
<pre>
隔行变色
学了循环就可以改写了
</pre>
<table width='100' height='100'>
<tr
{if ($id[0]%2 == 0)}
style='background-color:red'
{else}
style='background-color:green'
{/if}
>
<td>2222</td>
</tr>
<tr
{if ($id[1]%2 == 0)}
style='background-color:red'
{else}
style='background-color:green'
{/if}
>
<td>3333</td>
</tr>
<tr
{if ($id[2]%2 == 0)}
style='background-color:red'
{else}
style='background-color:green'
{/if}
>
<td>4444</td>
</tr>
<tr
{if ($id[3]%2 == 0)}
style='background-color:red'
{else}
style='background-color:green'
{/if}
>
<td>4444</td>
</tr>
</table>
<pre>
循环
</pre>
<table height='200'>
{foreach key=index item=item from=$id }
{if ($id[$index]%2) != 0}
<tr style='background-color:yellow'><td>单数行{$index+1}是黄色 {$id[$index]} ---- {$item}</td><tr>
{else}
<tr style='background-color:blue'><td>双数行{$index+1}是蓝色 {$id[$index]} ---- {$item}</td><tr>
{/if}
{/foreach}
</table>
<table height='200'>
{foreach $id as $k=>$v }
{if ($v%2) != 0}
<tr style='background-color:yellow'><td>单数行{$k+1}是黄色 {$v}</td><tr>
{else}
<tr style='background-color:blue'><td>双数行{$k+1}是蓝色 {$v}</td><tr>
{/if}
{/foreach}
</table>
模板引擎(smarty)知识点总结四的更多相关文章
- PHP的模板引擎smarty原理是什么(整理)
PHP的模板引擎smarty原理是什么(整理) 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个ph ...
- PHP模板引擎Smarty内建函数section,sectionelse用法详解
本文实例讲述了PHP模板引擎Smarty内建函数section,sectionelse用法.分享给大家供大家参考,具体如下: section 是 Smarty 模板中除了 foreach 以外的另一种 ...
- Php模板引擎Smarty安装和配置
Smarty 是PHP的一个模板引擎,是由Monte Ohrt 和 Andrei Zmievski 使用PHP语言开发的,发展至今已成为一个非常流行的模板引擎,Smarty 提供了一种易于管理和使用的 ...
- php模板引擎smarty
一. smarty的特点 速度:相对于其他模板引擎,速度较快 编译型:在下次访问模板时直接访问编译文件,不再进行模板重新编译 缓存技术:可以将用户最终看到的HTML文件缓存成一个静态HTML 插件技术 ...
- php模板原理PHP模板引擎smarty模板原理浅谈
mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有ph ...
- PHP的模板引擎smarty原理浅谈
mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有ph ...
- Smarty模板引擎技术
Smarty模板引擎技术 什么是模板引擎? 什么是Smarty模板引擎? 为何选择Smarty模板引擎? 如何使用Smarty模板引擎? 一.历史背景 场景一:回顾之前编写PHP项目的方式 //链接数 ...
- SpringBoot静态资源访问+拦截器+Thymeleaf模板引擎实现简单登陆
在此记录一下这十几天的学习情况,卡在模板引擎这里已经是四天了. 对Springboot的配置有一个比较深刻的认识,在此和大家分享一下初学者入门Spring Boot的注意事项,如果是初学SpringB ...
- 推荐13款javascript模板引擎
javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎.(排名不分先后顺序) 1. Mustache 基于j ...
- js模板引擎介绍搜集
js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...
随机推荐
- python之virtualenv
一 virtualenv简介 virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境.用virtualenv 来保持一个干净的环境非常有用 在开发Pyth ...
- SqlServer2014导出数据库的数据字典-最新版本(字段说明也能导出)
--移动360导出数据字典 -- --快速查看表结构(比较全面的) THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS ...
- 解决video标签在微信中强制全屏、微信全屏播放(Android和IOS)
在video标签中加上代码: x5-playsinline="true" webkit-playsinline="true" playsinline=" ...
- Pycharm使⽤用秘笈v0.3PyCharm使⽤用秘籍
Pycharm使⽤用秘笈v0.3PyCharm使⽤用秘籍 1. PyCharm的基本使⽤用 在PyCharm下为你的Python项⽬目配置Python解释器器 1. Project:当前项⽬目名> ...
- DtCMS 在IIS7.0 下之伪静态
1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式: 2)部署好站点,并将此站点的应用程序池设置为nettest; ...
- Activity(活动)
- Chat room
/* Vasya has recently learned to type and log on to the Internet. He immediately entered a chat room ...
- nodejs TLS 只加密,未授权,进一步完善
const tls = require('tls'); const fs = require('fs'); const options = { key: fs.readFileSync('my_key ...
- 采用RedisLive监控Redis服务——安装手册
#1.gcc编译环境确认 .tgz cd Python- ./configure /bin/python2. /usr/bin/python #运行python查看版本 python -V #进行更改 ...
- 【Selenium】通过xpath定位svg元素
SVG 意为可缩放矢量图形(Scalable Vector Graphics)定位svg元素要用xpath的name()函数,比如//svg/line[2],要用//*[name()='svg']/* ...