欢迎来到天天文库
浏览记录
ID:23366430
大小:20.25 KB
页数:12页
时间:2018-11-07
《cms系统模板引擎设计,php》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、自从人类进入商品经济社会以来,贸易即已成为人们日常活动的主要部分,并成为一国经济增长的主动力。国际分工的深化、大量国际统一标准规则的建立cms系统模板引擎设计,php 篇一:CMS系统模板引擎设计(4):Parameter类设计 紧接上回,说到Parameter和Field了。在Label初始化的时候,同时也要对ParameterCollection和FiledCollection初始化。在上节有个属性是这样写的ArticleId=Url(articleid),意思是ArticleId的值是url的query里的articleid的参数的值
2、。而且还有个DateFormat="yyyy年MM月dd日"。所以可以看出Parameter的多样化,我个人认为Parameter是最难设计的!以至于我现在写博文都心虚,我之前的系统里对Parameter处理的也比较糟糕,有不少hardcode。 我们说下Parameter的麻烦之处:1、我们具体Label(Article的List)需要获取Parameter的值,有intstringbool等,所以Parameter需要把本身的value可转成任意基础类型 2、有的Parameter的value不是具体值,而是一个方法调用,我们需要反射这
3、个方法,这个方法存在哪里?Core还是具体的某个模块(比如文章)实现的 3、像Format之类的Parameter显然是用来处理“后事”的,他不会用到前期取值,而是得到后的format工作,也就是需要传一个未知的值。随着信息化和全球化的发展,国家及地区之间的贸易也已成为拉动一国经济的三驾马车之一,甚至是三驾马车之首,奥巴马政府成立之日起自从人类进入商品经济社会以来,贸易即已成为人们日常活动的主要部分,并成为一国经济增长的主动力。国际分工的深化、大量国际统一标准规则的建立 4、如何做到Label也可以用,Field也可以用。前者主要用做参数,
4、后者主要用来format。当然,前者有时也format。 带着这几个问题,我们想想Parameter应该有什么样的内容? /// ///Label参数类 /// publicclassParameter { /// ///参数名 /// publicstringName{get;set;} /// ///参数初始值 /// publicstringValue{get;set;} publicParameter(){} publicParameter(stringname,stringvalue) { Name
5、=name; Value=value;随着信息化和全球化的发展,国家及地区之间的贸易也已成为拉动一国经济的三驾马车之一,甚至是三驾马车之首,奥巴马政府成立之日起自从人类进入商品经济社会以来,贸易即已成为人们日常活动的主要部分,并成为一国经济增长的主动力。国际分工的深化、大量国际统一标准规则的建立 } /// ///获取参数最终值(默认为初始值) /// /// /// publicvirtualstringGetValue(paramsstring[]parameters){ returnValue; } } 这是Par
6、ameter基类,那么Url等特殊的参数我设计成了子类! publicclassUrl:Parameter { publicoverridestringGetValue(paramsstring[]parameters){ return().((),Name); } } publicclassFormat:Parameter {随着信息化和全球化的发展,国家及地区之间的贸易也已成为拉动一国经济的三驾马车之一,甚至是三驾马车之首,奥巴马政府成立之日起自从人类进入商品经济社会以来,贸易即已成为人们日常活动的主要部分,并成为一国经济增
7、长的主动力。国际分工的深化、大量国际统一标准规则的建立 publicoverridestringGetValue(paramsstring[]parameters){ if(parameters==null)return; varval=parameters[0]; return("@me",val); } } publicclassDateFormat:Parameter { publicoverridestringGetValue(paramsstring[]parameters){ if(parameters==nul
8、l)return; DateTimet; if((parameters[0],outt)) { return(Value); } retu
此文档下载收益归作者所有