模板引擎(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 ...
随机推荐
- Bundle Adjustment---即最小化重投影误差(高翔slam---第七讲)
一.历史由来 Adjustment computation最早是由geodesy的人搞出来的.19世纪中期的时候,geodetics的学者就开始研究large scale triangulations ...
- mysql8 公用表表达式CTE的使用
公用表表达式CTE就是命名的临时结果集,作用范围是当前语句. 说白点你可以理解成一个可以复用的子查询,当然跟子查询还是有点区别的,CTE可以引用其他CTE,但子查询不能引用其他子查询. 一.cte的语 ...
- stark组件开发之URL别名的设置
from django.urls import re_path from stark.servers.start_v1 import site, StartHandler from django.ht ...
- 关于EOF:
请先看下面一段程序: #include"stdio.h" int main() { ],t; int i,j; while(scanf("%s",a)!=EOF ...
- 隐马尔科夫_HMM
有向图 抽象:λ代表输入:输入一个句子,λi表示句子中的每个字 O代表输出:[B词首/M词中/E词尾/S单独成词] max=maxP(O1 O2 On/ λ1 λ2 λn) 假设: (1)当前观察值只 ...
- db2用户权限
前言: DB2数据库权限分为实例级权限(SYSADM.SYSCTRL.SYSMAINT.SYSMON)和DB2数据库级权限(DBAMD.LOAD).DB2中用户所拥有的权限主要考虑三个方面:实 ...
- 51nod1347 旋转字符串
题目很容易懂,只要进行几次简单的判断就能完成此题,显示判断是否为偶数,之后利用sustr截取两个字符串进行比较,代码如下 #include<iostream> #include<st ...
- jvm运行机制和volatile关键字详解
参考https://www.cnblogs.com/dolphin0520/p/3920373.html JVM启动流程 1.java虚拟机启动的命令是通过java +xxx(类名,这个类中要有mai ...
- [C#.net]Connection Timeout和Command Timeout
每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的.以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种: 当从连接池获取一个连接时,碰到超时. 当 ...
- TryXXX模式(深入理解c#)
.NET有几个模式很容易根据所涉及的方法名称来识别.例如,BeginXXX和EndXXX暗示着一个异步操作.TryXXX模式的用途在.net1.1升级到2.0期间进行了扩展.他是针对以下情况设计的:有 ...