注:下面的定义都是狭义的,用于限定本次要解决的问题域,你也可以定义你自己标准,这不是啥业界标准。
(一) 轻量级mvc定义:
1. 框架对应用无侵入,不依赖任何接口类
2. 框架零配置,零注解
3. 简单易用,易于理解,暂且不搞restful,免得复杂
(二) 轻量级mvc接口:
1. controller采用setter注入请求参数,并支持层级注入,如:book.title.
2. controller采用getter供给数据给view,在view中可直接取到相应属性值,如:${property}.
3. controller采用任意非setter和getter函数处理请求。
4. controller采用函数返回值控制跳转,只允许跳转到另一controller,不允许一个controller对应两个view.
5. controller对model的依赖采用setter自动装配,包括model之间的依赖.
6. session参数,如:loginuserid,也通过setter注入到controller,如果有请求参数注入了loginuserid,也会被session参数给覆盖.
7. view与controller一对一,通过名称映射,并支持各种view模板类型扩展,比如:jsp, velocity, freemarker, commontemplate等.
8. 没有controller时,view也能执行,相当于隐式controller。
9. 框架应提供coc接口,基于规则约定某个包名是model,某个包名是controller,某个目录是view,比如:com.company.module.controller,自动发现module,并以单例模式加载model,以原型模式加载controller。
总而言之,接口除了setter和getter,以及自动映射规则,什么都没有.
(三) 轻量级mvc访问:
http://主机名[:端口][/应用名]/模块名/控制器名/函数名.html[?参数名=参数值]
注:方括号代表可省
(四) 轻量级mvc实现:
符合以上接口的实现均可。
(五) 轻量级mvc优势:
业务逻辑不依赖任何框架,可以适配到任意框架而不影响业务代码,当旧的框架被淘汰,无人维护时,可以以最快的方式迁移到新的更稳定的框架.
理想是美好的,现实是残酷的,上面纯属个人想法,现实中困难多了,怀着美好愿景总是好的。
http://www.bkjia.com/phpjc/928041.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/928041.htmltecharticlephp中如何制定轻量级的mvc标准 现在mvc的php开源免费框架已经很多了,我们没有必要去开发一个轻量的mvc来重复制造轮子,本文的目的是学习...