# 程序分析
分析器类会在页面下方显示基准测试结果,运行过的 SQL 语句, 以及 $_POST 数据。这些信息有助于开发过程中的调试和优化。
## 初始化类
重要
这个类无须初始化,如果已按照下面的方式启用, 他将被 [输出类](http://codeigniter.org.cn/user_guide/libraries/output.html) 自动加载。
## 启用分析器
要启用分析器,你可以在你的 [控制器](http://codeigniter.org.cn/user_guide/general/controllers.html) 方法的任何位置添加一行下面的代码:
~~~
$this->output->enable_profiler(TRUE);
~~~
当启用之后,将会生成一份报告插入到页面的最底部。
使用下面的方法禁用分析器:
~~~
$this->output->enable_profiler(FALSE);
~~~
## 设置基准测试点
为了让分析器编译并显示你的基准测试数据,你必须使用特定的语法 来命名基准点。
请阅读 [基准测试类](http://codeigniter.org.cn/user_guide/libraries/benchmark.html) 中关于设置基准点的资料。
## 启用和禁用分析器中的字段
分析器中的每个字段都可以通过设置相应的控制变量为 TRUE 或 FALSE 来启用或禁用。有两种方法来实现,其中的一种方法是: 在application/config/profiler.php 文件里设置全局的默认值。
例如:
~~~
$config['config'] = FALSE;
$config['queries'] = FALSE;
~~~
另一种方法是:在你的控制器里通过调用 [输出类](http://codeigniter.org.cn/user_guide/libraries/output.html) 的 set_profiler_sections() 函数来覆盖全局设置和默认设置:
~~~
$sections = array(
'config' => TRUE,
'queries' => TRUE
);
$this->output->set_profiler_sections($sections);
~~~
下表列出了可用的分析器字段和用来访问这些字段的 key 。
| Key | Description | Default |
| --- | --- | --- |
| **benchmarks** | 在各个计时点花费的时间以及总时间 TRUE | |
| **config** | CodeIgniter 配置变量 TRUE | |
| **controller_info** | 被请求的控制器类和调用的方法 TRUE | |
| **get** | 请求中的所有 GET 数据 TRUE | |
| **http_headers** | 本次请求的 HTTP 头部 TRUE | |
| **memory_usage** | 本次请求消耗的内存(单位字节) TRUE | |
| **post** | 请求中的所有 POST 数据 TRUE | |
| **queries** | 列出所有执行的数据库查询,以及执行时间 TRUE | |
| **uri_string** | 本次请求的 URI TRUE | |
| **session_data** | 当前会话中存储的数据 TRUE | |
| **query_toggle_count** | 指定显示多少个数据库查询,剩下的则默认折叠起来 25 | |
注解
在你的数据库配置文件中禁用 [save_queries](http://codeigniter.org.cn/user_guide/database/configuration.html) 参数 也可以禁用数据库查询相关的分析器,上面说的 'queries' 字段就没用了。 你可以通过$this->db->save_queries = TRUE; 来覆写该设置。 另外,禁用这个设置也会导致你无法查看查询语句以及 last_query 。
- 欢迎使用 CodeIgniter
- 安装说明
- 下载 CodeIgniter
- 安装说明
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- CodeIgniter 将从这里开始
- CodeIgniter 是什么?
- 支持特性
- 应用程序流程图
- 模型-视图-控制器
- 设计与架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 常规主题
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 类库参考
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类
- 迁移类
- 输出类
- 分页类
- 模板解析类
- 安全类
- Session 类
- HTML 表格类
- 引用通告类
- 排版类
- 单元测试类
- URI 类
- 用户代理类
- XML-RPC 与 XML-RPC 服务器类
- Zip 编码类
- 数据库参考
- 数据库快速入门: 示例代码
- 数据库配置
- 连接你的数据库
- 查询
- 生成查询结果
- 查询辅助函数
- 查询构造器类
- 事务
- 数据库元数据
- 自定义函数调用
- 数据库缓存类
- 数据库工厂类
- 数据库工具类
- 数据库驱动器参考
- 辅助函数参考
- 数组辅助函数
- 验证码辅助函数
- Cookie 辅助函数
- 日期辅助函数
- 目录辅助函数
- 下载辅助函数
- 邮件辅助函数
- 文件辅助函数
- 表单辅助函数
- HTML 辅助函数
- 语言辅助函数
- Inflector 辅助函数
- 数字辅助函数
- 路径辅助函数
- 安全辅助函数
- 表情辅助函数
- 字符串辅助函数
- 文本辅助函数
- 排版辅助函数
- URL 辅助函数
- XML 辅助函数
- 向 CodeIgniter 贡献你的力量