1.    使用smarty

   1.1 项目引入 

    // 3, 连接数据库,提取相关数据
    $title = "Smarty模板引擎";
    $content = "Smarty模板引擎是目前业界使用的最多的模板引擎之一";

    // 4, 实例化Smarty对象
    $smarty = new Smarty;

    // 5, 更改smarty相关默认属性
    // 6, 通过assign方法给模板文件分配变量
    $smarty->assign('title', $title);
    $smarty->assign('content', $content);

    // 7, 通过display方法替换模板中的特殊标记并输出模板
    $smarty->display('index1.tpl');

  1.2  注意是否更改Smarty对象的默认属性       

      Smarty的默认定界符是{},其实是可以修改的!如何修改?
      可以修改smarty的两个属性:
      left_delimiter:左定界符,默认为{
      right_dilimiter:右定界符,默认为}

  1.3     是否需要更改默认目录的名字

       在Smarty中,核心目录的名字是不能随便更改的!比如,模板目录的名称默认的就是templates,

       但是也可以修改! 

       在smarty2.0中,可以通过以下的四个属性进行更改:
       template_dir:模板目录,默认的是为templates
       compile_dir:编译目录,默认的是templates_c
       config_dir:配置目录,默认为configs
       cache_dir:缓存目录,默认为cache

2.   模板注释  注意: 服务器端的注释不会显示在浏览器的源代码里面! 

    基本语法:
    {* 注释内容 *}

3.  变量调节器 

   基本语法为:

    如:              $str4 = "Hello,World!";

          $smarty->assign('str4', $str4);

 

    cat  

        {$变量名1|cat:$变量名2|cat:$变量名3}

        cat变量调节器:{$str1|cat:$str2|cat:$str3}

    date_format 

        {$变量名(时间戳)|date_format:‘%Y-%m-%d %H:%M:%S’}

       date_format变量调节器:{$time|date_format:'%Y-%m-%d %H:%M:%S'}

   default

       {$变量名|default:值}

       default变量调节器:{$personal_sign|default:'这个家伙很懒'}

   lower和upper

        {$变量名|lower}
       {$变量名|upper}

      lower变量调节器:{$str4|lower}
      upper变量调节器:{$str4|upper}

   escape
         {$变量名|escape}
                 escape变量调节器:{$str5|escape}
     strip_tags
      {$变量名|strip_tags}
       strip_tags变量调节器:{$str5|strip_tags}
         nl2br
      {$变量名| nl2br}
      nl2br变量调节器:{$str6|nl2br}
     replace
      {$变量名| replace:字符串1:字符串2}
      replace变量调节器:{$str7|replace:'英雄联盟':'撸啊撸'}
    string_format
      {$变量名| string_format:’%d’}
      string_format变量调节器:{$price|string_format:'%d'}
      truncate
      {$变量名|truncate:字符串长度:’…’}
      truncate变量调节器:{$introduce|truncate:900:'...'|upper|nl2br}

smarty模板引擎的更多相关文章

  1. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)

    前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...

  2. 深入浅出之Smarty模板引擎工作机制(二)

    源代码下载地址:深入浅出之Smarty模板引擎工作机制 接下来根据以下的Smarty模板引擎原理流程图开发一个自己的模板引擎用于学习,以便加深理解. Smarty模板引擎的原理,其实是这么一个过程: ...

  3. 深入浅出之Smarty模板引擎工作机制(一)

    深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解. ...

  4. Smarty模板引擎技术二

    Smarty模板引擎技术 内建函数 include_php内建函数 作用:载入一个php文件,将载入的文件的内容赋值给一个变量   注意:该内建函数只能在2.0中使用,如果使用的话,必须得实例化Sma ...

  5. Smarty模板引擎技术

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

  6. Ci框架整合smarty模板引擎

    Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...

  7. 迷你版 smarty --模板引擎和解析

    http://blog.ipodmp.com/archives/php-write-a-mini-smarty-template-engine/ 迷你版Smarty模板引擎目录结构如下: ① 要开发一 ...

  8. smarty模板引擎原理解析

    //php 控制器文件 <?php//引入模板引擎文件include("20130304.php");$smarty =newTinySmarty();$qq_numbers ...

  9. smarty模板引擎中section循环loop与total的区别

    在smarty模板引擎的section循环中 $data=[101,102,103,105,104]; section的两个属性total与loop {section foo $data start= ...

随机推荐

  1. CMake undefined reference to `QTcpServer::QTcpServer(QObject*)'的解决

    1. 这是因为工程link不到network的库,因此除了要包含头文件    #include 之外,还需要在.pro文件中加入:    QT += network 2. 对于CMake,需添加Net ...

  2. iOS 面试题(三):为什么 weakSelf 需要配合 strong self 使用 --转自唐巧

    问题 继续回答昨天的问题第二问. 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: __weak typeof( ...

  3. windows环境,idea的Terminal每次输入git命令都要提示输入用户名,密码

    打开本地的这个目录(以上图片所示) 以我本地项目为例: 项目根目录下-->.git-->config文件 找到[remote "origin"]下url,更改其为htt ...

  4. (转载)Resin安装配置及使用教程

    Resin是一个提供高性能的,支持 Java/PHP 的应用服务器.目前有两个版本:一个是GPL下的开源版本,提供给一些爱好者.开发人员和低流量网站使用:一种是收费的专业版本,增加了一些更加适用于生产 ...

  5. GPS部标平台的架构设计(五)-地图服务算法库

    GPS平台,需要和各种地图打交道,需要解决以下的问题: 1.坐标偏移,这个不用多说,需要将原始坐标加偏,然后在百度地图或谷歌上显示出来,需要注意的是百度地图的加偏是偏上再偏,谷歌.高德地图等是火星坐标 ...

  6. TIJ——Chapter Seven:Reusing Classes

    Reusing Classes 有两种常用方式实现类的重用,组件(在新类中创建存在类的对象)和继承. Composition syntax Every non-primitive object has ...

  7. CUtilityCode

    (1) 基于boost的生产者/消费者队列 template<typenameData> classconcurrent_queue { private: std::queue<Da ...

  8. Leetcode: Encode String with Shortest Length && G面经

    Given a non-empty string, encode the string such that its encoded length is the shortest. The encodi ...

  9. 【转】mybatis实战教程(mybatis in action),mybatis入门到精通

    MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis ...

  10. Generate Ubuntu Install Media On Mac

    Opps, my computer system was broken again... Let's repire it. Introduction The system of my PC is br ...