讲解Thinkphp框架扩展之标签库驱动原理与用法

  介绍

本篇内容主要讲解“讲解Thinkphp框架扩展之标签库驱动原理与用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”讲解Thinkphp框架扩展之标签库驱动原理与用法”吧!

在<代码>认为\模板>

标签库驱动类的作用其实就是把某个标签定义解析成为有效的模版文件(可以包括PHP语句或者HTML标签),标签库驱动的命名空间位于<代码>认为模板\ \ TagLib> 认为\ \ TagLib> namespace 认为\ \ TagLib模板;   use 认为\ \ TagLib模板;   Class  Test  extends  TagLib {   }

首先需要定义标签库的标签定义,标签定义包含了所有标签库中支持的所有标签,定义方式如下:

protected  tags 美元;,=,阵列(   ,//定义标签   ,& # 39;输入# 39;,,=祝辞,,数组(& # 39;attr # 39;=祝辞& # 39;类型、名称、id值# 39;,& # 39;关闭# 39;=祝辞0),,//,输入标签   ,& # 39;文本区域,,=祝辞,,数组(& # 39;attr # 39;=祝辞& # 39;名称、id # 39;),   之前,);

标签库的所有支持标签都在标签属性中进行定义,标签属性是一个二维数组,每个元素就是一个标签定义,索引名就是标签名,采用小写定义,调用的时候不区分大小写。

每个标签定义支持的属性包括:

属性名说明attr标签支持的属性列表,用逗号分隔近标签是否为闭合方式(0闭合1不闭合),默认为不闭合水平标签的嵌套层次(只有不闭合的标签才有嵌套层次)别名标签别名

定义了标签属性后,就需要定义每个标签的解析方法了,每个标签的解析方法在定义的时候需要添加“_”前缀,传入两个参数,对应属性数组和内容字符串(针对非闭合标签)。必须返回标签的字符串解析输出,在标签解析类中可以调用模板类的实例。下面是一个输入解析方法的定义:

//,输入标签解析   public  function  _input(标签、内容),,{   美元才能name ,=,,美元标签(& # 39;名字# 39;);   美元才能id ,=,,美元标签(& # 39;id # 39;);   美元才能type ,=,,美元标签(& # 39;类型# 39;);   美元才能value ,=,, $ this→autoBuildVar($标签(& # 39;价值# 39;]);   str 美元;=,才能“& lt; input  type=& # 39;“。美元类型!”& # 39;,id=& # 39;“。$ id !”& # 39;, name=& # 39;“。美元干净自己的名字& # 39;价值=https://www.yisu.com/zixun/'”。美元价值。"/>”;   返回str美元;   }//文本区域标签解析   公共函数_textarea(标签,内容美元){   name=美元标记(“名字”);   id=美元标记(“id”);   美元str='