smarty模板引擎中自定义函数的方法

  本文实例讲述了smarty 自定义函数方法,分享给大家供大家参考。具体如下:

  本实例目的:输出 times 次 con的内容(输出4次hello world)

  文件1:

  

复制代码 代码如下:
<?php

  //创建smarty对象

  require_once("./libs/Smarty.class.php");

  $smarty = new Smarty();

  //自定义一个函数

  //说明:(1)、$arr为一个数组;(2)、tpl调用形式{test times="4" size="5" con="hello,world" color="red"}

  function test($arr){

  $str = "";

  for($i=0;$i<$arr['times'];$i++){

  $str .= "<font size='".$arr['size']."' color='".$arr['color']."'>".$arr['con']."</font>";

  }

  return $str;

  }

  //注册函数 registerPlugin

  $smarty->registerPlugin("function","test","test");//第二个参数是模板文件调用的函数名称,可变;第三个参数是上面自定义的函数名称;相应于一个对应关系

  $smarty->display("temp.tpl");

  ?>

  模板文件:temp.tpl

  

复制代码 代码如下:
<html>

  <h2>smarty自定义函数的使用</h2>

  {test times="3" con="hello world" size="3" color="green"}

  </html>

  注意:smarty 3.1.8 已经不支持注册函数 register_function,应换成 registerPlugin

  希望本文所述对大家的php程序设计有所帮助。