本篇内容主要讲解“讲解Thinkphp框架扩展之标签库驱动原理与用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”讲解Thinkphp框架扩展之标签库驱动原理与用法”吧!
在<代码>认为\模板> 代码中标签库的体现是采用XML命名空间的方式,每个标签库对应一个标签库驱动类,每个驱动类负责对标签库中的所有标签的解析。
标签库驱动类的作用其实就是把某个标签定义解析成为有效的模版文件(可以包括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='定义好标签库扩展之后,我们就可以在模板中使用了,首先我们必须要告诉模板申明测试标签库,用taglib标签,例如:
& lt; taglib name=& # 39;测试# 39;,/在名称属性支持申明多个标签库,用逗号分隔即可。申明测试标签库之后,就可以使用测试标签库中的所有标签库了,调用方式如下:
& lt;测试:input type=& # 39;射频和# 39;,id=& # 39;测试# 39;,name=& # 39;邮件# 39;,价值=https://www.yisu.com/zixun/凹壑怠?> <测试:textarea id="内容" name="内容">美元价值测试:textarea>注意:调用扩展标签库的标签的时候,必须加上标签库的XML命名空间前缀。
输入标签定义值属性可以支持变量传入,所以价值被认为是一个变量名,如果在控制器中已经给值模板变量赋值,例如:
$ this→分配(& # 39;价值# 39;& # 39;my test 价值# 39;);最后标签被模板引擎编译后,就会输出:
& lt; input type=& # 39;射频和# 39;,id=& # 39;测试# 39;,name=& # 39;邮件# 39;,价值=https://www.yisu.com/zixun/拔业牟馐灾怠?>到此,相信大家对“讲解Thinkphp框架扩展之标签库驱动原理与用法”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
讲解Thinkphp框架扩展之标签库驱动原理与用法