php专区

 首页 > php专区 > PHP进阶 > 网络编程 > 模板用xml的思路

模板用xml的思路

分享到:
【字体:
导读:
         摘要:前段时间,一直比拟关心php的模板技巧的我,接到了客户的请求:全站利用模板技巧,可以把持多模板,这个项目请求有强盛的后台,重要是多模板,难点就在模板的导进和辨认并且天生上,我仔...

模板用xml的思路

前段时间,一直比拟关心php的模板技巧的我,接到了客户的请求:全站利用模板技巧,可以把持多模板,这个项目请求有强盛的后台,重要是多模板,难点就在模板的导进和辨认并且天生上,我仔细考核了php的模板核心技巧,无外乎查找字符串开端,然后定义调换变量,调换成数据,然后并成输出页输出,牵扯到的缓存我就不再说了.

我们来看看这种方法的天生方法的毛病:假如要'多样式'的显示数据,当然我先不说CSS,不能真正的把数据和表现分别,无外乎利用css样式表方法显示而已,我们现在接到的这个项目不但请求css样式表的可选化,而且请求数据显示的'多方法',打个比喻,看下图:

我们下面为了轻易描写期间,我这样表现各个部分:A,B,C,D,E,F,G这6个区可以表现数据显示区域,从设计者角度考虑,有全局(div把持A-G),TOP(A),LEFT(B),RIGHT(C,D,E,F)和FOOTER(G),当然,您可以分的更细一些,这么显示,可以用div把持的,但这不是模板技巧,请明白,多样式表不叫模板,这和模板无关,所谓的模板,就是只与'数据布局'相干,在A数据我们另外可以表现成一个导航,假如您爱好的话.这在传统的模板技巧中会这样写:

...


{$SITE_TOP$}//cjjer制作

...

调换的时候replace()的是{$ 和$}符号中的变量,这在数据简略的时候,比喻只是一个导航,而我们假如要的是一个很复杂的数据显示的时候,那就很难把持了,由于把一个很大批输出数据放在一个变量中很难保证不出错.

另外,传统的模板(在php中)是这样的,获取模板的文件,加载,显示,这没什么标题,标题就在当web项目(不完整是网站)非常复杂的时候,很轻易调换错误和模板单调,固然可以用css把持一些显示,但很难把持数据的布局,比喻,E区我今天不想要了,你改模板,重新加载文件... ?

有没有更加轻易的解决计划?有.

我提出了这样一种观点:

模板页为 XML文档 ,模板节点加载已有模块 ,加载'仿xml数据'天生文件 (谅解我,这么说我感到已经非常轻易了)下面我就这种模板技巧详谈.

先看看我说的模块是什么东西,大家都知道,html中的

呀,都是显示数据布局的一些布局标签,为什么我们不能自己制作这种标签呢?例如:我现在'创'一个这样的标签这里,当然,这个标签对项目是有意义的,表现把持全局的模块节点,假如在模板页中呈现节点加载的就是对应名称为 format 的模块数据:

模板用xml的思路

分享到:
PHP.MVC的模板标签系统之标签行为调度
PHP.MVC的模板标签系统之标签行为调度 TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签。TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher。TagActionDispatcher类能被用在带有或没有带有模板标签系统上,尽管由于它的额外处理...
PHP一些常用的正则表达式
PHP一些常用的正则表达式  匹配中文字符的正则表达式: [\u4e00-\u9fa5]   匹配双字节字符(包括汉字在内): [^\x00-\xff]   应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}    匹配空行的正则表达式: \...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……