一直以来,我都使用JAVA开发;使用SSH框架【Struts+Spring+Hibernate】;由于项目大;需要使用自定义标签来实现页面上常显示的内容信息;习惯于使用Struts的自定义标签。
新近的一个项目是一个大型的移植开发项目;要求将原美国的一个WEB项目转化成日本的WEB应用;这是一个
基于FACEBOOK的OPENSOCIAL协议的应用;其中应用了Facebook Markup Language (FBML);我们现在要将其移植到日本的MIXI平台上;会有大量的开发工作;需要将FBML修改成标准的html和Javascript内容;这样每个页面都会有修改;工作量很大
这个时候我们开发团队有一个构想,就是将FBML定义的标签,我们也像在JSP里面的Struts自定义标签一样
在PHP里面实现TAG标签库;那么每个页面只要调用标签库;就不用对每个页面的内容进行修改;非常易于维护;
相信做过类似项目的开发人员都会觉得这个主意太美妙了!
那么如何实现呢?没有任何资料和这方面的经验!
我是力推这个方案的开发人员,我相信PHP和JSP、ASP.net齐名,一定也有自己的方案;可是在Google里找了数日的开源框架和欧美若干相识的文章但是还是没有答案,就快放弃了...
周末休息,我想去图书馆再找找别的途径实现自定义标签;也许用XHTML?去之前我又上网寻找线索;于是皇天不负有心人,终于找到一个类似的文章:
有点难度:怎么在php页面中解析自身文件所包含的自定义标签?
链接地址:http://bbs.blueidea.com/archiver/tid-2965257.html
看完后有点概念了;说实话,但是我还是有点半信半疑,不知能不能排上用场!于是我在EclipsePHP里将代码一个个文件存好;运行有效果;看来是自己要的效果;但是代码没有解释;只能自己猜;于是我DEBUG了一遍;大致明白了作者的意图!
但是我感觉这篇文章还是有些复杂;文章里的代码有些小bug,我都调好了;下面会有这个例子完整好的代码上传可以直接看到效果;
另外我想我要写一个例子;非常简单,只涉及PHP自定义标签的内容;并且都加上了注释;希望对于那些需要在项目中实现PHP自定义标签的人有所帮助!
最后我对提供这篇文章的作者表示感谢;希望在中国能有更多热心的开发人!
当我实现了自己的目标的时候我真的很开心!
【1】引用的文章源码包 GOOGLE下载 (2 KB) 开心下载(control) SkyDrive下载
【2】我写的例子 GOOGLE下载 (1 KB) 开心下载(customtag) SkyDrive下载
这个例子我用了自定义标签fb:js-string[它原本是FBML里的一个标签];我仅是用它做了一个例子;
它并不代表FBML里这个标签的意义。
如果无法下载,请留下邮箱等联系方法,我会发给你!
【附】我看国外博客网站都有提供上传文件的以供下载,怎么这里找不到...
如有人知道请告诉我,谢谢!