网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 控制器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 不是必须参数
    六 其他两个私有方法 和 处理输出 不是很理解,暂时就不在此做介绍了
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/17 20:29:17