/*
   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. 学习knockoutjs轻量级的MVVM框架

    教程:knockoutjs介绍 http://www.w3cfuns.com/forum.php?mod=viewthread&tid=5598714 MVVM架构~knockoutjs实现简 ...

  2. C++中stl的map

    总结: 在map中插入数据有三种方法: 1.用insert插入pair数据: mapstudent.insert(pair<int,string>(1,"studentone&q ...

  3. (转)ScriptManager.RegisterStartupScript方法和Page.ClientScript.RegisterStartupScript() 方法

    ScriptManager.RegisterStartupScript方法 如果页面中不用Ajax,cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStartu ...

  4. Android.API.Context.getFilesDir()

    1. Context.getFilesDir() http://developer.android.com/reference/android/content/Context.html#getFile ...

  5. python下的MySQL数据库编程

    https://www.tutorialspoint.com/python/python_database_access.htm if you need to access an Oracle dat ...

  6. 看懂 Fiddler 的瀑布图

    最近准备给组内的新同学们分享下 Fiddler 这枚神器,可以讲的地方太多,我打算把一节课讲不完的内容写在博客上,大家可以随便看看.今天先介绍下 Fiddler 的瀑布图. 每个网络请求都会经历域名解 ...

  7. 采用JavaMelody监控Tomcat服务——安装手册

    #1.获取安装包 .zip mv probe.war <tomcat dir>/webapps #3.设置tomcat用户信息 vi <tomcat dir>/conf/tom ...

  8. Javascript的一个怪现象

    javascript有一个怪现象,就是减法也会导致小数位数问题,是一个麻烦的问题,比如. <html><script> var a=10,b=20.1; alert( a - ...

  9. Java 使用 jacob 将 word 文档转换为 pdf 文件

    网上查询了许许多多的博客,说利用 poi.iText.Jsoup.jdoctopdf.使用 jodconverter 来调用 openOffice 的服务来转换等等,我尝试了很多种,但要么显示不完全, ...

  10. hook 9大类

    HOOK技术主要分为两大类,一是内核层HOOK,一是用户层HOOK. 用户层HOOK也就是在ring3环境下hook kenerl32.dll.User3.dll.Gui32.dll.Advapi.d ...