标题 | 控制器controllers-CI(codeigniter)PHP框架 |
内容 | 前面文章整体说了一下Codeigniter的访问,其中涉及到route,URL路由设置,下面对CI控制器,在codeigniter里就是一个类文件,用来处理url过来的需求,在mvc架构中controllers主要控调用模型和视图去完成用户的需求,不做任何输出和数据处理。数据处理和输出则是要model层进行操作。 在CI中,控制器是一个类文件,存放在application/controllers目录下,命名根据类名进行命名URL请求控制器: www.anypoetry.com/index.php/控制器名(类名)/方法名(如果没有方法则调用index方法) 一调用类名,比如URL请求为www.anypoetry.com/index.php/pages/则会调用对应的pages的controllers <?php class Pages extends CI_Controller { function __construct() { parent::__construct(); } public function index() { echo 'pages!'; } } //这里不应有输出 当前为了观看方便,则进行的输出操作 ?> 将上面文件保存为pages.php保存在控制器的文件夹中即可。 要求: 1.必须继承CI主控制类 2.类名首字母必须大写。 二 URL请求控制器方法www.anypoetry.com/index.php/pages/view 这样的url则会调用pages类下的view方法 <?php class Pages extends CI_Controller { function __construct() { parent::__construct(); } public function index() { echo 'pages!'; } } public function view(){ echo "调用pages里面的view方法"; } } ?> 三URL请求控制器方法并传递参数www.anypoetry.com/index.php/pages/show/canshu1/canshu2/canshu3 <?php class Pages extends CI_Controller { function __construct() { parent::__construct(); } fublic function index() { echo 'pages!'; } } public function show($c1,$c2,$c3){ echo "参数1".$c1; echo "参数2".$c2; echo "参数3".$c3; } } ?> 四 URL请求控制器,在控制器里面创建文件夹。控制器里面创建对应的文件夹,则也要再路由application/config/route.php中设置对应的请求控制器的文件夹,仍然拿 上面的pages类为例。 在application/controllers/里面创建了一个wj文件夹,在路由route.php设置如下 $route['wj/pages'] = 'wj/pages'; 当URL请求为www.anypoetry.com/index.php/wj/pages/show 则会调用 controllers里面的文件夹wj下面的pages类,并调用的是show方法。 五 在类中重定义控制器路由调用方法,CI控制器提供了一个方法_remap(),如果你在你的URL请求中请求了带实际方法,则不会去调用而是默认的通过_remap()进行判断调用,不会直接调用你请求的方法。 举例:在pages定义类中的_remap如下 function _remap($method,$params = array()){ echo $method;//这里是临时输出调用的方法名 var_dump($params);//获取后面的URL调用参数 $this->$method(); //调用对应的当前类中的方法 } 请求url为 http://www.anypoetry.com/index.php/wj/pages/view/can1/can2 在会调用 _remap输出方法名为view 输出的两个参数为 can1 和can2 然后调用pages类中的view方法 这里需要补充一下的是 $method 是必须参数,$params 不是必须参数 六 其他两个私有方法 和 处理输出 不是很理解,暂时就不在此做介绍了 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。