|
在观看视频教程"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,内容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[0])) {
parse_str($rows[0]->query_string, $_GET);
}
}
} 复制代码
这样,无需装载,会在装入input类库时,加载自定义的函数。然而事实上不能装载。
在控制器中
PHP复制代码
$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中写入那两个函数,就可以正常运行,实现功能。
|
|