CodeIgniter学习笔记 Item3--CI中的超级对象
1. CI超级对象中的load装载器
load装载器是CI_Loader类型对象,通过
[code]$this->load
装载器提供了不同的方法加载不同的对象:
model方法:加载一个模型
database方法:加载数据库
view方法:加载视图
file方法:加载文件
vars方法:加载变量
helper方法:加载辅助类
language方法:加载语言文件
config方法:加载config文件
。。。。。。
2. CI超级对象中的uri
uri是CI_Uri类型对象,通过
$this->uri
获取,用于处理与URL工作,包括从URL中获取参数等
通过URL传递get参数往往使用这种形式:http://localhost/study_codeIgniter/index.php/index/index2?id=5,但在PHP框架中,基本使用pathinfo,形式像这样:协议://域名/控制器/方法名/参数名1/参数值1/参数名2/参数值2,例如这个URI:http://localhost/study_codeIgniter/index.php/index/test/id/5/name/jack
[code]index.php是入口文件 index表示index控制器 test表示控制器中的test方法 id表示第一个get传递的参数名是id 5是第一个参数的值 name表示第二个get传递的参数名是name jack是第二个参数的值
如果是其他框架,通过以上的pathinfo,仍可以调用
$_GET[‘’]
来获取变量,但在CI中不能这样使用,会提示id未定义
在CI中,要使用uri对象的segment方法获取参数值,实参是参数值在URL中的序号,入口文件的序号为0
对于上面的URL调用
[code]$this->uri->segment(4)可以获得参数id的值 $this->uri->segment(6)可以获得参数name的值
正因如此,在URL中实际可以不传入参数名而直接传参数值,然后通过segment根据序号获取参数值,比如上面的URL可以修改成这样:http://localhost/study_codeIgniter/index.php/index/test/5/jack,此时,
$this->uri->segment(3)
的值是5,
$this->uri->segment(4)
的值是jack,对于省略参数名的URL,有一种更简便的使用方式,这个URL可以解读为调用index控制器的test方法,该方法有两个形参,第一个参数的值是5,第二个参数的值是jack,此时可以直接通过传入的参数来访问
[code]public function test($id, $name) { echo $id . "<br />" . $name; }
3. CI超级对象中的input输入类
input是CI_Input类型对象,通过$this->input获取,它提供获取用户输入信息的方法,比如:
post方法:用于获取通过post方法传递过来的参数
get方法:用于获取通过get方法传递过来的参数
post_get方法:用于获取post或get方法传递过来的参数,优先考虑post参数
get_post方法:用于获取post或get方法传递过来的参数,优先考虑get参数
server方法:获取$_SERVER中的值
cookie方法:获取$_COOKIE中的值
set_cookie方法:设置cookie值
。。。。。。
以上就是CodeIgniter学习笔记 Item3--CI中的超级对象的内容,更多相关内容请关注PHP中文网(www.php.cn)!