如果你在使用ThinkPHP框架的时候不想采用TP自带的模版系统,而使用第三方的模版系统,你有很多其他的选择,在这里我仅介绍Smarty这种比较官方,而且比较强大的模版系统。
由于Smarty兼容PHP4,因此,它的效率会相对低一点点,这个低只是相对的,估计等Smarty啥时候正式放弃PHP4的时候,效率可能会上很大一个台阶。
………………………………………………
最多请看全文。
» 阅读全文
Submitted by gouki on 2008, June 26, 11:02 PM
如果你在使用ThinkPHP框架的时候不想采用TP自带的模版系统,而使用第三方的模版系统,你有很多其他的选择,在这里我仅介绍Smarty这种比较官方,而且比较强大的模版系统。
由于Smarty兼容PHP4,因此,它的效率会相对低一点点,这个低只是相对的,估计等Smarty啥时候正式放弃PHP4的时候,效率可能会上很大一个台阶。
………………………………………………
最多请看全文。
» 阅读全文
Submitted by gouki on 2008, April 23, 9:29 AM
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="" />
Submitted by gouki on 2008, April 23, 9:13 AM
使用ThinkPHP自带的模版引擎处理模版问题时,一般情况下不会有什么问题。
但是,在处理一些XHTML模版时,可能会遇到以下问题,比如,模版作者在制作模版时,为了规范页面,往往在文件头部加上<?xml version="1.0" encoding="utf-8"?>,表明文件是属于XML规范,所有的标签都必须遵循XML的相关规定。
然而,默认的ThinkPHP模版引擎在处理的时候会出现错误,处理这个错误的情况有以下几种办法。
第一种方法:你尝试关闭PHP的短标签功能
第二种方法:试着用<literal></literal>标签把XML的标签包含起来,即
<literal><?xml version="1.0" encoding="utf-8"?></literal>
第三种方法:修改ThinkPHP/Lib/Think/Template/ThinkTemplate.class.php的compiler函数,在函数的最后一行return $templContent;前加入
任何一种方法理论上都可以,第一种第二种方法实在不行的时候,再用第三种,毕竟第三种方法是改动核心的,如果以后更新核心库,可能会不当心就覆盖掉了。
不过,流年说过了,他已经更新了模板引擎的解析类,并且专门判断了是否开启了短标签,如果开启的话会自动用第三种方法解析。更新下SVN的ThinkTemplate.class.php 文件就可以了(可能压缩包还没有同步更新[2008-04-22])。
Submitted by gouki on 2008, February 22, 8:55 PM

官方的话:
新年的气氛即将恢复平静,ThinkPHP也快2岁了,这是一个让所有关注和支持ThinkPHP的朋友们值得祝贺的时刻,官方也准备了一份礼物以回馈大 家的支持,感谢大家和ThinkPHP风雨同舟一起度过。届时将开通ThinkPHP官方在线体验中心,给大家送上丰富的示例和演示,而且还将发布一个更 新版本,包含了值得期待的项目目录自动创建功能和众多的完善。新手们有福了,呵呵~希望2008奥运年大家红红火火,继续努力!
PS:了解ThinkPHP发展历史的人应该猜到2周年是什么时候了,呵呵~
目前,官方还推出了新的示例中心,网址是:http://exp.thinkphp.cn/Examples/
» 阅读全文
Submitted by gouki on 2008, February 17, 3:00 PM
提起Zend,那是在PHP界是相当的有名啊。如果说使用PHP的人居然连Zend也不知道,那是白活了。呵呵
ZendFramework是Zend公司自己推出的一个框架,开发人员都是些元老级人物(但也是有BUG的。。自我安慰一下,高手也会产生BUG),ZF在经历了很长一段时间的发展(大约一年左右吧),才推出1.0系列,现在的版本当然又有了更新

» 阅读全文