/*
   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)知识点总结四的更多相关文章

  1. PHP的模板引擎smarty原理是什么(整理)

    PHP的模板引擎smarty原理是什么(整理) 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个ph ...

  2. PHP模板引擎Smarty内建函数section,sectionelse用法详解

    本文实例讲述了PHP模板引擎Smarty内建函数section,sectionelse用法.分享给大家供大家参考,具体如下: section 是 Smarty 模板中除了 foreach 以外的另一种 ...

  3. Php模板引擎Smarty安装和配置

    Smarty 是PHP的一个模板引擎,是由Monte Ohrt 和 Andrei Zmievski 使用PHP语言开发的,发展至今已成为一个非常流行的模板引擎,Smarty 提供了一种易于管理和使用的 ...

  4. php模板引擎smarty

    一. smarty的特点 速度:相对于其他模板引擎,速度较快 编译型:在下次访问模板时直接访问编译文件,不再进行模板重新编译 缓存技术:可以将用户最终看到的HTML文件缓存成一个静态HTML 插件技术 ...

  5. php模板原理PHP模板引擎smarty模板原理浅谈

    mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有ph ...

  6. PHP的模板引擎smarty原理浅谈

    mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有ph ...

  7. Smarty模板引擎技术

    Smarty模板引擎技术 什么是模板引擎? 什么是Smarty模板引擎? 为何选择Smarty模板引擎? 如何使用Smarty模板引擎? 一.历史背景 场景一:回顾之前编写PHP项目的方式 //链接数 ...

  8. SpringBoot静态资源访问+拦截器+Thymeleaf模板引擎实现简单登陆

    在此记录一下这十几天的学习情况,卡在模板引擎这里已经是四天了. 对Springboot的配置有一个比较深刻的认识,在此和大家分享一下初学者入门Spring Boot的注意事项,如果是初学SpringB ...

  9. 推荐13款javascript模板引擎

    javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎.(排名不分先后顺序) 1. Mustache 基于j ...

  10. js模板引擎介绍搜集

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

随机推荐

  1. python之virtualenv

    一 virtualenv简介 virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境.用virtualenv 来保持一个干净的环境非常有用 在开发Pyth ...

  2. SqlServer2014导出数据库的数据字典-最新版本(字段说明也能导出)

    --移动360导出数据字典 -- --快速查看表结构(比较全面的) THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS ...

  3. 解决video标签在微信中强制全屏、微信全屏播放(Android和IOS)

    在video标签中加上代码: x5-playsinline="true" webkit-playsinline="true" playsinline=" ...

  4. Pycharm使⽤用秘笈v0.3PyCharm使⽤用秘籍

    Pycharm使⽤用秘笈v0.3PyCharm使⽤用秘籍 1. PyCharm的基本使⽤用 在PyCharm下为你的Python项⽬目配置Python解释器器 1. Project:当前项⽬目名> ...

  5. DtCMS 在IIS7.0 下之伪静态

    1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式: 2)部署好站点,并将此站点的应用程序池设置为nettest; ...

  6. Activity(活动)

  7. Chat room

    /* Vasya has recently learned to type and log on to the Internet. He immediately entered a chat room ...

  8. nodejs TLS 只加密,未授权,进一步完善

    const tls = require('tls'); const fs = require('fs'); const options = { key: fs.readFileSync('my_key ...

  9. 采用RedisLive监控Redis服务——安装手册

    #1.gcc编译环境确认 .tgz cd Python- ./configure /bin/python2. /usr/bin/python #运行python查看版本 python -V #进行更改 ...

  10. 【Selenium】通过xpath定位svg元素

    SVG 意为可缩放矢量图形(Scalable Vector Graphics)定位svg元素要用xpath的name()函数,比如//svg/line[2],要用//*[name()='svg']/* ...