zzly 发表于 2012-2-16 00:58:55

扩展或替换原始类库时遇到的问题

在观看视频教程"CodeIgniter 从零开始第十七天:不用 Query String 实现搜索功能"(http://codeigniter.org.cn/tutorials/watch/from_scratch_search_results_without_query_strings)时,仿做时遇到问题。原代码版本1.72,现在我使用2.1 版,在application/library下建立MY_Input.php,内容
class MY_Input extends CI_Input {

function save_query($query_array) {

$CI =& get_instance();

$CI->db->insert('ci_query', array('query_string' => http_build_query($query_array)));

return $CI->db->insert_id();
}

function load_query($query_id) {

$CI =& get_instance();

$rows = $CI->db->get_where('ci_query', array('id' => $query_id))->result();
if (isset($rows)) {
   parse_str($rows->query_string, $_GET);
}

}

}

这样,无需装载,会在装入input类库时,加载自定义的函数。然而事实上不能装载。
在控制器中

$this->input->load_query($query_id);


运行错误如下:
Fatal error: Call to undefined method CI_Input::load_query() in E:\StudyPhp\dev\application\controllers\dic.php on line 17

怎么了?

可是,直接在system/core/input.php中写入那两个函数,就可以正常运行,实现功能。



visvoy 发表于 2012-2-16 01:15:36

2.0之后,扩展Input类要在app/core/目录下
页: [1]
查看完整版本: 扩展或替换原始类库时遇到的问题