CodeIgniter 用户指南 版本 1.7.2

编辑文档、查看近期更改请 登录注册  找回密码
查看原文

装载类

装载,顾名思义,是用来装载元素。这些元素可以是库 (类) 视图文件助手文件插件, 或者是你自己的文件。

提示: 这个类是由系统初始化的,所以,没有必要自己手动初始化。

以下为这个类里面的函数:

$this->load->library('class_name', $config, 'object name')

这个函数是用来加载核心类。class_name 是你要加载的类的名称。 提示: “类”和“库”是可替换使用的。

比如,你想用 CodeIgniter 来发送邮件,第一步就是在你的控制器里加载 email 类。

$this->load->library('email');

一旦被加载,就可以使用该类了, 使用 $this->email->some_function()

类库文件可以被保存到主libraries目录的子目录下面,或者保存到个人的application/libraries 目录下。 要载入子目录下的文件,只需将路径包含进来就可以了,注意这里说的路径是指相对于libraries目录的路径。 例如,当你有一个文件保存在下面这个位置:

libraries/flavors/chocolate.php

你应该使用下面的方式来载入它:

$this->load->library('flavors/chocolate');

你可以随心所欲地将文件保存到多层的子目录下。

设置选项

第二个参数是可选的,作用是允许你有选择性地传递配置参数。一般来说你可以将参数以数组的形式传递过去:

$config = array (
                  'mailtype' => 'html',
                  'charset'  => 'utf-8,
                  'priority' => '1'
               );

$this->load->library('email', $config);

配置参数通常也可以保存在一个配置文件中。每个类库在其各自的页面中都有详细的说明,所以在使用类库之前,你必须认真阅读它们的说明。

给类库分配不同的对象名

第三个参数也是可选的,如果为空,类库通常就会被赋值给一个与类库同名的对象。例如,如果类库名为 Session, 它将会被赋值给一个名为 $this->session 的变量。

如果你希望使用你的自定义名称,你可以通过第三个参数把它传递过去:

$this->load->library('session', '', 'my_session');

// Session 类现在可以通过下面的方式访问:

$this->my_session

$this->load->view('file_name', $data, true/false)

这个函数是用来加载你的视图文件。 如果你尚未阅读本手册视图 章节的话,建议你先去阅读那里的内容,会有更详细的函数使用说明.

第一个参数是必须的. 指定你要载入的视图文件的名称.  注意: 无需加上 .php 扩展名,除非你使用了其他的扩展名。

第二个参数 optional 允许你传入数组或对象, 传入的数组或对象将使用 php extract 函数导出,你可以在视图中任意使用这些导出的变量. 此外,请阅读 视图 章节了解该功能的更多用法.

第三个参数是可选的,作用是改变函数的运行方式,将数据以字符串的形式返回,而不是发送给浏览器。当你希望用不同的方式处理数据时,这个参数就非常有用。如果你将这个参数设置为 true (布尔型),函数就会返回数据。这个参数的默认值是 false, 也就是数据将会被发送给浏览器。如果你希望数据被返回,记得要将它赋值给一个变量:

$string = $this->load->view('myfile', '', true);

$this->load->model('Model_name');

$this->load->model('Model_name');

如果你的模型位于models目录的子目录下,那么,相对路径也必须被包含进来。例如,如果你有一个模型位于 application/models/blog/queries.php ,你应该使用下面的语句来载入它:

$this->load->model('blog/queries');

如果你希望给模型赋予一个你自定义的对象名,请在函数的第二个参数中给出你自定义的名称:

$this->load->model('Model_name', 'fubar');

$this->fubar->function();

$this->load->database('options', true/false)

这个函数的作用是载入数据库类。这两个参数都是可选的。请查看 数据库 段落以获取更多信息。

$this->load->scaffolding('table_name')

这个函数的作用是启用脚手架。请查看 脚手架 段落以获取更多信息。

$this->load->vars($array)

这个函数以一个关联数组作为输入参数,将这个数组用PHP的extract函数, 转化成与这个数组对应的变量.这个函数如果用第二个参数,将产生和上面的$this->load->view()相同的结果 .你之所以要单独用这个函数也许是因为,你想在控制器的构造函数中设置一些全局变量,以使这些变量在任意函数调用的视图(view)里能够用上.你能多次调用这个函数.数组数据被缓存并被并入一个数组,用来转化成变量.

$this->load->helper('file_name')

这个函数的作用是载入辅助函数, file_name 是辅助函数对应的文件名,不包括 _helper.php 扩展名。

$this->load->plugin('file_name')

这个函数的作用是载入插件,file_name 是插件对应的文件名,不包括 _plugin.php 扩展名。

$this->load->file('filepath/filename', true/false)

这是一个通用的文件载入函数。在第一个参数中给出文件所在的路径和文件名,对应的文件将会被打开。默认情况下,数据会被发送给浏览器,就如同视图文件一样,但如果你将第二个参数设置为 true (布尔型) 那么数据就会以字符串的形式被返回,而不是发送给浏览器。

$this->load->lang('file_name')

这个函数是 语言加载函数: $this->lang->load() 的一个别名。

$this->load->config('file_name')

这个函数是 配置文件加载函数: $this->config->load() 的一个别名。

 

翻译贡献者: cookieu, Hex, tg8866, weelia, yinzhili
最后修改: 2009-07-12 10:04:24