目录搜索
欢迎目录快速参考图基本信息服务器要求许可协议变更记录关于CodeIgniter安装下载 CodeIgniter安装指导从老版本升级疑难解答介绍开始CodeIgniter 是什么?CodeIgniter 速记表支持特性应用程序流程图模型-视图-控制器架构目标教程内容提要加载静态内容创建新闻条目读取新闻条目结束语常规主题CodeIgniter URL控制器保留字视图模型辅助函数使用 CodeIgniter 类库创建你自己的类库使用 CodeIgniter 适配器创建适配器创建核心系统类钩子 - 扩展框架的核心自动装载资源公共函数URI 路由错误处理缓存调试应用程序以CLI方式运行管理应用程序处理多环境PHP替代语法安全开发规范类库参考基准测试类日历类购物车类配置类Email 类加密类文件上传类表单验证详解FTP 类图像处理类输入类Javascript 类语言类装载类迁移类输出类分页类模板解析器类安全类Session 类HTML 表格类引用通告类排版类单元测试类URI 类User-Agent 类表单验证XML-RPC 和 XML-RPC 服务器Zip 编码类缓存适配器适配器参考适配器数据库类Active Record 类数据库缓存类自定义函数调用数据库配置连接你的数据库数据库快速入门例子代码字段数据数据库维护类查询辅助函数数据库类查询生成查询记录集表数据事务数据库工具类JavaScript类辅助函数参考数组辅助函数CAPTCHA 辅助函数Cookie Helper日期辅助函数目录辅助函数下载辅助函数Email 辅助函数文件辅助函数表单辅助函数HTML辅助函数Inflector 辅助函数语言辅助函数数字辅助函数路径辅助函数安全辅助函数表情辅助函数字符串辅助函数文本辅助函数排版辅助函数URL 辅助函数XML 辅助函数
文字

CodeIgniter 用户指南 版本 2.1.0

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

配置类

该配置类提供一种方法来进行偏好设置。该偏好来源于默认的配置文件(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 是改变后的值.

注意:这里修改的配置元素并不是改变配置文件(application/config/config.php)的值,仅改变当前$this->config->item()方法取到的值

环境

你可以根据当前的开发/服务环境读取不同的配置文件. ENVIRONMENT 常量在 index.php 定义, 在 处理多环境 一章有详细的描述和说明.

一个特定环境的配置文件, 需要按此路径创建或者复制一个文件: application/config/{ENVIRONMENT}/{FILENAME}.php

例如,要创建一个仅'production'环境的 config.php, 你应该:

  1. 创建文件夹:application/config/production/
  2. 复制现有的 config.php 到上面的文件夹
  3. 编辑 application/config/production/config.php 设定你在'production'环境所需的设置

当你设置 ENVIRONMENT 常量为 'production', 你刚创建的仅'production'环境的 config.php 配置文件将被加载。

你可以放置以下配置文件到特定环境的文件夹:

  • 默认的 CodeIgniter 配置文件
  • 你自己的用户配置文件

注意: CodeIgniter 会先尝试加载当前环境的配置文件。 如果文件不存在,将加载全局配置文件,例如 (application/config/) 。 这意味着你没有必要把 所有的配置文件放在特定环境的文件夹里, − 仅仅把各环境不同的放进去就行了。

辅助函数

config 类有以下辅助函数:

$this->config->site_url();

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

$this->config->base_url();

This function retrieves the URL to your site, plus an optional path such as to a stylesheet or image.

The two functions above are normally accessed via the corresponding functions in the URL Helper.

$this->config->system_url();

该函数得到 system folder 的URL .

 

翻译贡献者: airwin, aykirk, borisauschina, Hex, skey, szlinz, tanqimin, xwjie, zhupeng, 暗夜星辰
最后修改: 2012-04-27 17:40:20
上一篇:下一篇: