在很多的项目中,MVC的controls的表现形式主要是以下方式,现以QUERY_STRING 的形式举例。
第一种::class=“控制器名”&action=“操作或方法名”&其它请求…… ,比如? index.php?class=user&action=add
第二种:控制器名=参数? 比如 index.php?user=add 。
这两种方法来说,大家用的最多的都是第一种,很多的框架的结构也是第一种,而我用的却两种都有,第一种的情况,我在应用型程序中用的比较多,第二种我在表现型程序中用的比较多,在WEB开发笔记www.chhua.com中的设计模式中也有讲关于这一些问题。比如说,一个CMS 网站,其前端部分第二种表现要比第一种好用,其后台部分则还是选择第一种比较好。
其实两种没有太多的差异,只是第一种的方法在程序架构的时候分的比较清晰,就是控制器和方法而已,而第二种则比较混沌,只是当一个参数传入,在程序的业务处理上,可以根据控制器的不同进行不同的操作,对于我来说,我还是用第二种的情况比较多。原因也不用多说,关键是程序结构的架构习惯而已,优势各有各的优势。
如果论灵活程序,则还是第二种比较灵活,也就是说,把控制器本身已经当做了一个键名,而其传入的参数就会少了一个,而这个参数可以根据控制器的不同拿去做任何事情,可以当某一会员的cname,可以当是某一会员的ID,也可以当做是某一会员的action,为什么偏偏只能当方法名呢,呵呵。
然而第一种的方法显然是比第二种的方法更加清晰,和第一种相比来说,逻辑上会比较混乱。
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: MVC控制器的表现形式 http://www.chhua.com/web-note3443
评论