CodeIgniter 用户指南 版本 2.0.0

PHP100中文网
查看原文

配置类

该配置类提供一种方法来进行偏好设置。该偏好来源于默认的配置文件(application/config/config.php) 或您自己定制的配置文件。

注意:该类已经自动加载而无需手动启用。

分析配置文件

默认情况下,CodeIgniter已经有一个主要的配置文件,位于application/config/config.php。如果你用文本编辑器打开你会看到配置项目被存储在一个叫$config的数组里。

您可以添加您自己的配置项目到这个文件里,或者您更愿意让您自己的配置项目与原配置项目分开(assuming you even need config items),简单的创建一个文件并保存到config这个文件夹里就行了。

提示: 如果你想建立一个和主要配置文件一样格式的配置文件,把你的配置项目建立在一个名为$config的数组中,即使配置文件中有相同的数组名,CodeIgniter也能智能的管理这些文件而不会发生冲突.

加载配置文件

Note: CodeIgniter 会自动加载主要的配置文件(application/config/config.php), 所以你只需要加载你自己创建的配置文件

有两种方法来加载配置文件:

  1. 手动加载

    为了加载一个你自定义的配置文件,你需要在 controller 中这样做:

    $this->config->load('filename');

    这里的 filename 是你自定义的配置文件的文件名,这个文件名没有 .php 的扩展名.

    如果你需要加载多个自定义配置文件,一般情况下它们会被合并成一个数组。然而,如果在不同的配置文件中存在同名的索引,那么会发生冲突。为了避免这个问题,你可以把第二个参数设置为 TRUE ,这可以使每个配置文件的内容存储在一个单独的数组中,数组的索引就是配置文件的文件名。请看下面的例子:

    // 用这样的方式保存为一个数组: $this->config['blog_settings'] = $config
    $this->config->load('blog_settings', TRUE);

    请阅读下面名为 获取配置元素 的部分以了解在这样的方式下如何取得配置信息

    第三个参数允许屏蔽当配置文件不存在时产生的错误信息:

    $this->config->load('blog_settings', FALSE, TRUE);
  2. 自动加载

    如果你需要一个特定配置文件在全局范围内都能使用,你可以使系统自动加载它。要自动加载配置,请打开文件 autoload.php,它在 application/config/autoload.php,然后按照文件中的提示增加你想要自动加载的配置文件。

获取配置元素

从配置文件中检索元素,使用下面的函数:

$this->config->item('item name');

其中 item name 是 $config 数组中你期望检索的索引. 例如,要获得您选择的语言,你可以这样做:

$lang = $this->config->item('language');

当试图获取的元素不存在时,此函数返回 FALSE (boolean) 。

如果你为了用具体的索引来声明配置数组(避免上述索引重名问题)而在函数 $this->config->load 中使用了第二个参数,你可以通过指定函数 $this->config->item() 的第二个参数为特定索引名来获取相关的配置元素。例如:

// 载入一个名为 blog_settings.php 的配置文件,然后把它声明为一个索引为 "blog_settings" 的数组
$this->config->load('blog_settings', TRUE);

// 在数组 blog_settings 中获取名为 site_name 的配置元素
$site_name = $this->config->item('site_name', 'blog_settings');

// 另外一种方式:
$blog_config = $this->config->item('blog_settings');
$site_name = $blog_config['site_name'];

设置一项元素

如果你想动态设置/改变一个现有的配置元素,你可以使用:

$this->config->set_item('item_name', 'item_value');

其中 item_name 是你希望改变的 $config 数组的索引, item_value 是改变后的值.

辅助函数

config 类有以下辅助函数:

$this->config->site_url();

该函数得到你网站的 URL,其中包含了你在 config 文件中设置的 "index" 的值。

$this->config->system_url();

该函数得到 system folder 的URL .

 

翻译贡献者: airwin, aykirk, borisauschina, Hex, skey, szlinz, tanqimin, zhupeng
最后修改: 2009-09-20 00:56:54