分类: 系统运维
2011-05-20 15:38:37
所有的控制器存放在 controller 目录下
/**
* 首页控制器
*
*/
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类已经有一些检查方法,开发人员也可自行添加检查方法