钩子 - 扩展框架核心 CodeIgniter 的钩子特性提供了一种方法来修改框架的内部运作流程,而无需修改 核心文件.CodeIgniter 的运行遵循着一个特定的流程,你可以参考这个页面的 应用程序流程图 .但是,有些时候你可能希望在 执行流程中的某些阶段添加一些动作,例如在控制器加载之前或之后执行一段脚本, 或者在其他的某些位置触发你的脚本. 启用钩子 钩子特性可以在 application/config/config.php 文件中全局的启用或禁用, 设置下面这个参数: $config[…
顾名思义,装载器就是加载元素的,使用CI时,经常加载的有: 加载类库文件:$this->load->library()   加载视图文件:$this->load->view()   加载模型文件:$this->load->model()   加载数据库文件:$this->load->database()   加载帮助文件:$this->load->helper()   加载配置文件:$this->load->config()   加载…
使用CI框架,我们通常使用一下三个函数处理错误: show_error('消息' [, int $status_code = 500 ] ) show_404('页面' [, 'log_error']) log_message('级别', '消息'),有一下三种错误信息: 错误类型的消息. 这种是真正的错误消息. 例如PHP错误或者用户错误. 调试类型的消息. 这种是用来帮助调试的消息. 例如, 如果当一个类被初始化时,你可以将这个初始化纪录下来,然后用于调试. 信息类型的消息. 这种是最低优先…
class CI_Input { //用户ip地址 protected $ip_address = FALSE; //用户浏览器地址 protected $user_agent = FALSE; //允许get方式提交数据 protected $_allow_get_array = TRUE; //新行央视标记 protected $_standardize_newlines = TRUE; //xss攻击过滤 protected $_enable_xss = FALSE; //csrf攻击过滤…
system/core/Common.php 文件中可以定义 公共函数,我们可以在这里定义自己的公共函数.在任何情况下你都能够使用这些函数.使用他们不需要载入任何类库或辅助函数. 接下来分析下该文件中自带的一些方法: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); // ---------------------------------------------------------------…
Config:该文件包含CI_Config类,这个类包含启用配置文件来管理的方法 /** * 加载配置文件 * * @param string $file 配置文件名 * @param bool $use_sections 配置值是否应该加载到自己的部分 * @param bool $fail_gracefully 是否只是返回假或显示一个错误信息 * @return bool 如果文件被正确地装载返回true:相反如果被错误地载入返回false */ public function load(…
CI输出类Output.php的功能是将最终web页面发送给浏览器,这里面的东西可能是你用的最少的.你使用装载器加载了一个视图文件, 这个视图文件的内容会自动传递给输出类对象, 然后呢,在方法执行完毕后会自动调用输出类对象将执行的结果输出.值得注意的是这里面有评测器profiler和file cache的内容. http://codeigniter.org.cn/user_guide/libraries/output.html…
Benchmark.php文件中定义的CI_Benchmark类可以让你标记点,并计算它们之间的时间差.还可以显示内存消耗. Benchmarking类库,它是被系统自动被加载的,不需要手工加载 class CI_Benchmark { /** * List of all benchmark markers * * @var array */ public $marker = array(); /** * 标记时间点 */ public function mark($name) { $this-…
class CI_Model { /** * Class constructor * * @return void */ public function __construct() { log_message('info', 'Model Class Initialized'); } // -------------------------------------------------------------------- /** * __get magic * * Allows models…
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class CI_Lang { var $language = array(); var $is_loaded = array(); function __construct() { log_message('debug', "Language Class Initialized"); } //加载语言包 function load…