模板引擎(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 ...
随机推荐
- 学习knockoutjs轻量级的MVVM框架
教程:knockoutjs介绍 http://www.w3cfuns.com/forum.php?mod=viewthread&tid=5598714 MVVM架构~knockoutjs实现简 ...
- C++中stl的map
总结: 在map中插入数据有三种方法: 1.用insert插入pair数据: mapstudent.insert(pair<int,string>(1,"studentone&q ...
- (转)ScriptManager.RegisterStartupScript方法和Page.ClientScript.RegisterStartupScript() 方法
ScriptManager.RegisterStartupScript方法 如果页面中不用Ajax,cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStartu ...
- Android.API.Context.getFilesDir()
1. Context.getFilesDir() http://developer.android.com/reference/android/content/Context.html#getFile ...
- python下的MySQL数据库编程
https://www.tutorialspoint.com/python/python_database_access.htm if you need to access an Oracle dat ...
- 看懂 Fiddler 的瀑布图
最近准备给组内的新同学们分享下 Fiddler 这枚神器,可以讲的地方太多,我打算把一节课讲不完的内容写在博客上,大家可以随便看看.今天先介绍下 Fiddler 的瀑布图. 每个网络请求都会经历域名解 ...
- 采用JavaMelody监控Tomcat服务——安装手册
#1.获取安装包 .zip mv probe.war <tomcat dir>/webapps #3.设置tomcat用户信息 vi <tomcat dir>/conf/tom ...
- Javascript的一个怪现象
javascript有一个怪现象,就是减法也会导致小数位数问题,是一个麻烦的问题,比如. <html><script> var a=10,b=20.1; alert( a - ...
- Java 使用 jacob 将 word 文档转换为 pdf 文件
网上查询了许许多多的博客,说利用 poi.iText.Jsoup.jdoctopdf.使用 jodconverter 来调用 openOffice 的服务来转换等等,我尝试了很多种,但要么显示不完全, ...
- hook 9大类
HOOK技术主要分为两大类,一是内核层HOOK,一是用户层HOOK. 用户层HOOK也就是在ring3环境下hook kenerl32.dll.User3.dll.Gui32.dll.Advapi.d ...