|
|
在App/Lib/Action/创建IndexAction.class.php
在里面输入代码:
- <?php
- //前端首页控制器
- Class IndexAction extends Action {
- //首页视图
- Public function index () {
- //访问模板
- $this->display();
- }
- }
- ?>
复制代码 则,浏览器访问地址为:
http://serverName/index.php/Index/index
或http://serverName/index.php&m=Index&a=index
即,格式为http://serverName/入口文件名.php/控制器名(类名)/方法名
官方说法:
Action参数绑定提供了URL变量和操作方法的参数绑定支持,这一功能可以使得你的操作方法定义和参数获取更加清晰,也便于跨模块调用了。这一新特性对以往的操作方法使用没有任何影响,你也可以用新的方式来改造以往的操作方法定义。
Action参数绑定的原理是把URL中的参数(不包括分组、模块和操作地址)和控制器的操作方法中的参数进行绑定。例如,我们给Blog模块定义了两个操作方法read和archive方法,由于read操作需要指定一个id参数,archive方法需要指定年份(year)和月份(month)两个参数。
- class BlogAction extends Action{
- public function read($id){
- echo 'id='.$id;
- $Blog = M('Blog');
- $Blog->find($id);
- }
- public function archive($year='2012',$month='01'){
- echo 'year='.$year.'&month='.$month;
- $Blog = M('Blog');
- $year = $year;
- $month = $month;
- $begin_time = strtotime($year . $month . "01");
- $end_time = strtotime("+1 month", $begin_time);
- $map['create_time'] = array(array('gt',$begin_time),array('lt',$end_time));
- $map['status'] = 1;
- $list = $Blog->where($map)->select();
- }
- }
复制代码 URL的访问地址分别是:
- http://serverName/index.php/Blog/read/id/5
- http://serverName/index.php/Blog/archive/year/2012/month/03
复制代码 两个URL地址中的id参数和year和month参数会自动和read操作方法以及archive操作方法的同名参数绑定。
输出的结果依次是:
|
|