Smarty模板引擎技术(二)

一、使用Smarty模板引擎步骤

  第一步:引入smarty核心类文件并创建一个smarty实例对象:
    include_once “libs/smarty/Smarty.class.php”;
    $smarty=new Smarty();

  第二步:对核心类中属性或变量的配置
    $smarty->template_dir=”./templates”;
    $smarty->compile_dir=”./templates_c”;
    $smarty->config_dir=”./configs”;
    $smarty->caching=false;
    $smarty->cache_dir=”./cache”;
    $smarty->left_delimiter=”{”;
    $smarty->right_delimiter=”}”;

  第三步:给模版变量赋值
    $smarty->assign(“模版变量”,”值(变量|数组)”);
    比如:$smarty->assign(“username”,”张三”);

  第四步:显示对应的模版文件
    $smarty->display(“模版文件名”);
    比如:$smarty->display(“index.html”);

  第五步:在模版文件中使用smarty的左右边界符将模版变量显示出来
  <html>
    <head></head>
    <body>
      用户名:{$username}
    </body>
  </html>

二、Smarty应用之模版变量:分三种来源

  (I) 从PHP中分配的变量  

    1. 格式:$smarty->assign(“模版变量”,”值(变量|数组)”);
    2. 例如:$username=”小三”;
        //将php变量分配给模版变量
        $smarty->assign(“username”,$username);
    3. 在模版文件中通过左右边界符来显示模版变量
        例如:{$username}

  (II){$smarty}保留变量

    1.使用保留变量可访问页面请求变量:get、post、server、request、session等
    例如:页面请求变量:
        {$smarty.get.username}         //相当于在php文件中访问$_GET[‘username’]
        {$smarty.post.username}         //相当于在php文件中访问$_POST[‘username’]
        {$smarty.session.username}      //相当于在php文件中访问
        $_SESSION[‘username’]
        {$smarty.cookie.username}        //相当于在php文件中访问$_COOKIE[‘username’]
        {$smarty.request.username}        //相当于在php文件中访问
        $_REQUEST[‘username’]
        {$smarty.server.REMOTE_ADDR}      //相当于在php文件中访问
        $_SERVER[‘REMOTE_ADDR’]

    2.使用保留变量可访问常量:const
        {$smarty.const.__FILE__}
    3.使用保留变量可读取配置文件的变量:config
        {$smarty.config.username}
      读取配置文件中的变量
        1. 配置文件应放在$smarty->config_dir=”./configs”指定的目录下面
        2. 配置文件的后缀名为 .conf
        3. 配置文件:myself.conf
          #全局配置变量
            title=“调用配置文件”
            bgcolor=“red”
            border=5
            type=“计算机”
            name=“php从入门到精通”
          #局部变量
            [login]
            username=“用户名”
            password=“密 码”

        4. 一个配置变量占一行,并且后面没有以分号结尾

  (III)模版中引用配置文件中的变量

    首先要加载配置文件:
      //加载配置文件,但是只能将全局变量加载进来
        {config_load file=“my.conf”}
      //如果要加载局部变量,需要使用section属性指定特定的节
        {config_load file=“my.conf” section=“login”}

    模版文件中引用配置文件中变量的方法:
      //第一种:需要使用两个#
        比如:{#title#}
      //使用{$smarty}保留变量
        比如:{$smarty.config.bgcolor}

三、Smarty变量操作符或变量调节器

  什么是smarty的变量操作符?
     smarty模版引擎中有内置的一些函数,这些函数主要用来修饰或调节变量,我们称之为变量操作符或变量调节器,变量操作符主要用于操作变量,它可以帮助我们完成许多比较实用的功能,比如:首字母大写、拆分、替换、截取等等,这些功能通过smarty模版引擎可以很容易的在模版文件中实现,而不必再在php文件中通过php的内置函数去处理,这样的话就减少了php的代码量

  如何使用smarty的变量操作符?
    1.语法中使用 “|” 来应用变量操作符,多个参数用 ”:” 分隔开来
      比如: 在模版文件中使用变量操作符截取前十个字符
        {$name|truncate:10}

    2.常见的smarty变量操作符
        capitalize [首字母大写]
        count_characters [计算字符数]
        cat [连接字符串]
        count_paragraphs [计算段落数]
        count_sentences [计算句数]
        count_words [计算词数]
        date_format [时间格式]
        default [默认]
        escape [转码]
        indent[缩进]
        lower[小写 ]
        nl2br[换行符替换成<br />]
        regex_replace[正则替换]
        replace[替换]
        spacify[插空]
        string_format[字符串格式化]
        strip[去除(多余空格)]
        strip_tags[去除html标签]
        truncate[截取]
        upper[大写]
        wordwrap[行宽约束]
  3.使用smarty变量操作符的例子
    例如:
      日期:{$smarty.new|date_format:”%Y-%m-%d”}
      变量中的字符数(包括空格):{$str|count_characters:true}
      多个变量操作符修饰一个变量:{$str|nl2br|upper|cat:”张三”}
      模版变量+“张三”:{$str1|cat:”张三”}
      缩进四个空白字符,并使用*来代替:{$str2|indent:4:”*”}
      把变量中的”hello”替换为“world”:{$str3|replace:”hello”,”world”}

时间: 2024-08-24 14:20:58

Smarty模板引擎技术(二)的相关文章

Smarty模板引擎技术(一)

一.Smarty模板引擎简介 什么是smarty? Smarty是采用php写的一个模版引擎,设计的目的是要将php代码与html代码分离,使php程序员只专注于php代码的编写,网页美工只专注于网页的美化 没有模版引擎时出现的问题? html中php代码比重越来越大 页面的数量越来越多 程序设计与美工设计分工不明确 传统的php文件: 1. php代码跟html混编在一起,不利于程序员和美工的分工,程序员和美工不能同时修改一个文件 2.数据的传递同一页面传递,php数据在页面中的显示需要使用p

(3) PHP 随笔---Smarty模板引擎技术基础+MiniSmarty 01-02

◇smarty是模板引擎技术之一,作用是使得“php”代码与“html代码”分离. ◇一个项目里,有 程序员.美工人员.DBA数据库管理员.系统运维人员. ◇创建虚拟主机,两个步骤: ◇先修改httpd-hosts.conf,加上一个<VirtualHost *:80>.....</VirtualHost>      修改该标签其中的内容 ◇再去修改hosts文件中最后关联域名与ip.   即可 ◇创建一个自己的模板引擎MiniSmarty.class.php,代码如下: 1 &l

smarty模板引擎基础(二)

smarty模板引擎所需文件夹共可分为存放页面缓存的(cache).存放配置文件的(configs).存放模板扩充插件的(plugins).存放模板文件的(templates).存放编译后的模板文件的(templates_c).存放后端程序代码的(main); 一.configs文件夹:即保存一些与页面配置有关的相关代码,可以用[]来进行模块分类 ,以conf格式保存,可用记事本打开查询,在页面中的调用指令为 <{config_load file='文件名' section="模块名&qu

php smarty模板引擎

<?php /* 一.什么是smarty? smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲, 目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要. 二.smarty优点: 1. 速度:采用smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的. 2. 编译型:采用smarty编写的程序在运行时要编译成一

smarty模板引擎(一)基础知识

一.基本概念 1.什么是mvc? mvc是一种开发模式,核心思想是:数据的输入.数据的处理.数据显示的强制分离. 2.什么是smarty? smarty是一个php的模板引擎.更明确的来说,它可以帮助开发者更好的分离程序逻辑和页面显示. 3.smarty运行原理 模板文件,就是一个显示数据的模板,其中需要显示的数据用占位符代替. smarty运行时,会读取模板文件,将模板文件中的占位符替换成真正的数据,并输出一个处理后的php文件,交由服务器运行. 二.自己写一个smarty模板 为了更好的理解

前端学PHP之Smarty模板引擎

前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进.文字环绕以及正则表达式都可以直接使用,如果觉得不够,SMARTY还有很强的扩展能力,可以通过插件的形式进行扩充.另外,Smarty也是一种自由软件,用户可以自由使用.修改,以及重新分发该软件.本文将详细介绍Smarty模板引擎 概述 Smarty是一个php模板引擎.更准确的说,它分离了逻辑程序和外

Smarty模板引擎

Smarty模板引擎是一个完全由PHP程序写出来的模板引擎,优点如下: 速度:Smarty模板引擎相比其他的模板引擎速度更快 继承技术:在Smarty里面可以定义一个父模板,让子模板来继承父模板 缓存技术:可以让一个不怎么变化但是偶尔会变化的页面缓存起来.下一次客户端请求的时候直接将缓存文件给它

编写一个非常简单而且山寨的smarty模板引擎

PHP的正则表达式今天就结束了,遥想几年前初次接触的时候,感觉这玩意真心玩不转啊,而时至今日,感觉这也没有什么难以理解的,确实还是有很大进步的,尤其是对smarty模板引擎有了一个更为清晰的认识.正则表达式学到最后,总是会抛出这个编写一个山寨的smarty模板引擎的话题出来练练手,今天就在大师的指导下,编写了这么一个山寨smarty,作为这次复习正则的一个句点吧. <?php  class template{ //存储模板引擎源文件目录 private $templateDir; //编译后的文

(5) PHP 随笔---Smarty模板引擎 使用成熟的Smarty模板 05

◇Smarty模板引擎流程图,如下: ◇使用Smarty使得程序的速度有略微的降低了. ◇如何使用Smarty,步骤如下: ◇Smarty里的核心资源都放在libs文件夹中了.直接使用libs就好了. ◇把libs文件夹放到当前开发目录下,然后利用  include "./lib/Smarty.class.php";  将文件引用. ◇接下来实例化Smarty对象即可. ◇新建一个模板文件夹,取名为templates,用来存放模板文件夹. ◇新建一个编译文件夹,取名为templates