手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

为ThinkPHP开发自定义标签几个注意事顶

首页 > PHP Framework >

ThinkPHP的模版引擎强大就强大在于它可以使用XML标签来为TP模版引擎进行扩展,因此TP的标签功能就成了TP模版的亮点所在。要想让TP的模版功能更加强大,你就得学会扩展TP的标签功能,即:自定义标签

开发自定义标签功能的时候,有几个注意的地方,
1、文件名的规范性,这个当然是不用多解释了,TagLibInput.class.php
    (TagLib加是你定义的标签名,首字符大写,这样你的文件名中的Input就会自动认为你的XML文件名)
2、目录所在:目前暂时还是存放到THINKPHP的核心类库里,目录为:/THINKPHP/Lib/Think/Template
    主程序文件放到:/THINKPHP/Lib/Think/Template/TagLib/ 目录下
    自定义的XML文件放到:/THINKPHP/Lib/Think/Template/Tags/ 目录下

    (自定义的文件是小写的标签名,即刚才类名中的Input的小写)

注意事顶:
    如果你发现你自定义的标签没有被解析,请按如下方法进行检查(以input标签为例)
    1、查看文件开始的地方是否加载了<tagLib name="cx,html,input" />,同时,请检查是否符合XML规范,如:标签一定要闭合。例:<br />,否则会出现XML解析错误
    2、检查文件是否都为UTF-8编码,因为在解析XML的时候,都是采用UTF8编码,如果不是UTF8编码,会出现一些奇怪的解析错误,很多时候都会出现simpleXml解析器错误,如果出现这种错误,请检查文件编码,如果是UTF8编码的文件,请同时检查文件头是否存在BOM标记。
    3、自定义的标签中,是否忘了双引号。由于在写HTML的时候,很容易忽略双引号,比如<input type=text name=name>,如果是这样,在被当成XML解析的时候,肯定会报错的,正确的写法应该是:<input type="text" name="name" value="value" />(标签要闭合),如果是自己自定义的标签,则应该这样写:<input:text name="" value="" />




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: thinkphp, 标签

« 上一篇 | 下一篇 »

只显示10条记录相关文章

海龙CMS1.1 beta发布 (浏览: 37501, 评论: 25)
ThinkPHP介绍 (浏览: 29180, 评论: 3)
ThinkPHP怎么样更好的使用Smarty第三方插件 (浏览: 28403, 评论: 2)
TP单字母函数整理 (浏览: 27222, 评论: 1)
thinksns 不再开发了? (浏览: 26938, 评论: 4)
ThinkPHP两周年,同时有新的更新 (浏览: 22608, 评论: 2)
解决使用ThinkPHP框架自带模版程序处理<??>出现的问题 (浏览: 21834, 评论: 0)
浅谈TP的COOKIE类 (浏览: 21227, 评论: 0)
顶想招聘 (浏览: 21109, 评论: 3)
TP1.5版本中使用smarty模版引擎的技巧 (浏览: 21006, 评论: 0)

发表评论

评论内容 (必填):