外贸网站知识

常见问题

建站小知识:php中如何制定轻量级的MVC标准

来源:本站日期:2015-1-9

  现在MVC的php开源免费框架已经很多了,我们没有必要去开发一个轻量的MVC来重复制造轮子,本文的目的是学习MVC的结构准备及MVC思路,这样可以更好的应用开源的MVC框架。    (一)轻量级MVC定义:    1.框架对应用无侵入,

  现在MVC的php开源免费框架已经很多了,我们没有必要去开发一个轻量的MVC来重复制造轮子,本文的目的是学习MVC的结构准备及MVC思路,这样可以更好的应用开源的MVC框架。
  
  (一)轻量级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优势:
  
  业务逻辑不依赖任何框架,可以适配到任意框架而不影响业务代码,当旧的框架被淘汰无人维护时,可以以最快的方式迁移到新的更稳定的框架。

关键词标签:力洋外贸网站建设有限公司,建站小知识:php中如何制定轻量级的MVC标准

0