所有的控制器存放在
controller 目录下 <?php /** * 首页控制器 * */ class CHome extends SController {
/** * 首页显示动作 * * @param unknown_type $request * filter: today/hot/past 今日团购/最火团购/往期团购 */ public function index(SRequest $request) { //取首页配置信息 $config = SConfig::application('home');
$filter = $request->get('filter'); $share = $request->get('share'); if($filter != 'hot' and $filter != 'past'){ $filter = 'today'; }
$layout = $filter == 'today' ? $config['layout'] : 3; //列数
if($layout == 1){ $lines = $config['lines_1']; //行数 }else{ $lines = $config['lines_3']; }
1
|
要有类注释,说明此控制器主要管理的范围
|
2
|
所有的控制器继承SController
|
3
|
所有的控制器类名 以C 开头
再以驼峰方式
|
4
|
每个Action(动作) 要有方法注释
|
5
|
类中,非动作方法必须指明Private
|
6
|
如果动作需要获取前端传递的参数,参数必须是SRequest 类型 ,且要在注释中说明每个参数
|
7
|
有些动作不需要传递任何参数
|
可用的方法
1
|
ajaxOk
|
处理前端Ajax请求时,返回一个正确状态以及相关数据
|
2
|
ajaxError
|
处理前端Ajax请求时,返回一个错误状态以及提示信息
|
3
|
promptOk
|
显示一个成功信息页面,并跳转到指定页面
|
4
|
promptError
|
显示一个错误提示页面,并跳转到指定页面
|
5
|
back
|
显示一个错误提示页面,并跳到上一页
|
6
|
prompt
|
promptOk与promptError的简化调用,请自行查看源代码
|
7
|
headerto
|
前端重定向
|
8
|
redirect
|
后端重定向(这个使用较少)
|
开发规范
所有用户传递的参数都要经过检查,以避免注入. SRequest类已经有一些检查方法,开发人员也可自行添加检查方法
|