对于sp框架中controller的一个疑问

#1 qmhball

按框架的思想,controller中的每个方法相当于一个action,但这个方法可能很大,且用于其它一些类,那么这些辅助的类应该如何摆放?
单开一个目录,比如service?然后把其放入config的include_path?
想知道大家通常的做法是什么~
谢过了哈~

2010-03-15 18:36:19

#2 jake

说一下:
1. action不会很大,也不建议把它写得非常的大。因为在SP中,controller相当于一个语言结构,负责页面的交互处理,这些交互处理通常不会很复杂,有复杂的运算建议归纳到model内,因为复杂的运算都是属于业务领域的范畴。
2. action最好不要用于其他类,会被重用的类或者方法都应该是model,action主要是交互和显示,所以可以通过action来返回一些显示性的代码(如winblog的sidebar侧栏),但不会像model的方法那样,负责运算和业务处理(如封装注册、封装发信息等)。
3. 楼主说的辅助类,应该是model,对应的是数据库的操作,放到model目录即可。另外还有一种比较单一的功能类,像上传处理、ACL等,和本身程序的业务相关性不大的通用的类,SP内通常叫扩展类,如果扩展类比较少的情况下,也可以把扩展类放到model目录里,如果比较多,可以在APP_PATH下面建立include目录,放到include里面。include目录的定义就是'include_path'。
4. 参考:
http://speedphp.com/post/speedphp-mvc.html
http://speedphp.com/bbs/redirect.php?goto=findpost&ptid=216&pid=790
http://speedphp.com/bbs/thread-226-1-1.html

2010-03-16 09:14:10

#3 qmhball

非常感谢jake的解答,很详尽!

2010-03-18 16:44:43