thinkphp3.2自定义模板标签详解TagLib

jerry thinkphp 2015年11月19日 收藏
thinkphp3.2自定义模板标签详解TagLib
3.2引入方法基本与3.1相似下面介绍区别

一、存储位置

在3.1中 网站目录\Lib\TagLib  命名格式:"TagLib"+"Shop"+".class.php",
在3.2中 框架目录\Library\Think\Template\TagLib  命名格式 "Shop"+".class.php"

二、文件命名空间

在3.1中是不需要命名空间
在3.2的文件中开头需要加上如下代码
  1. namespace Think\Template\TagLib;    
    use Think\Template\TagLib;
三、class名

3.1的命名 class TagLibShop extends TagLib

3.2的命名 class Shop extends TagLib


四、标签属性读取

3.1的读取方式
  1. //标签传入参数为$attr
    public function _shoplist($attr,$content){
        $attr = $this->parseXmlAttr($attr);  //使用继承方法读取参数
        $id = $attr['id'];
    }
3.2的读取方式
  1. //标签传入参数为$tag
    public function _shoplist($tag,$content){
        $id = $tag['id'];  //直接获取属性
    }
加载扩展标签与3.1一样,这里就不再细表。