CI中的超级对象

时间:2022-10-22 13:48:48

  CI中的超级对象就是当前控制器对象,它提供了很多属性,可以通过var_dump($this)打印所有的超级对象;

    load可以理解为一个加载器,加载了很多功能,可以理解为当你使用 $this -> load 之后CI自动帮你new了一个loader类的对象实例,然后你就可以调用load里面封装的各种方法(函数),具体的函数可以在CI文件目录下的system/core/Loader.php文件中查看;

    $this -> load -> 

       view()       //装载视图;

       vars()      //分配变量到视图;

       database()    //装载数据库操作对象;

       model()     //装载模型;

 

    uri也是CI提供的一个类文件,里面封装了一些关于URL相关一些解析的函数,具体的函数可以在CI文件目录下的system/core/URI.php文件中查看

    $this -> uri ->

      segment()      //用于获取url上某一段的参数;CI中的传递参数并非传统的pathinfo模式,该函数获取URL中的某一段上的数据;如下图所示,当你需要获取182时则$this->uri->segment(3);就可以获取到182这个值,以此类推只需要更改segment里面的参数就可以获取到相应段的值;

      通常情况下一般为:入口文件.php/控制器/方法/a参数/b参数/c参数

      CI中的超级对象

    input输入类,里面封装了一些输入类函数,具体的函数可以在CI文件目录下的system/core/Input.php文件中查看

    $this -> input ->

      post()      等价于原生PHP中的 $_POST[ '  ' ] ;

      server      等价于原生PHP中的 $_SERVER[ ' ' ] ;

    在CI中直接使用$_POST也是可以直接接收到客户端提交的参数,但ci提供的input类会有一些简单的安全处理机制;

  在view视图里可以直接使用$this访问超级对象;