在codeIgniter入门时,官方网站提供了两个快速搭建blog的视频,由于视频录制的是早期版本,现在发布的版本对框架内部进行了优化,所以如果按照视频的步骤,会出现一些问题和错误,现在作一些归纳和整理,与学习中的朋友们分享。
现在版本 : class blog extends CI_Controller{} ; 继承父类构造函数: parent::__Construct();
早期版本 : 在类构造函数中load : $this->load->scaffolding(‘table_name’);
现在版本 : 在config/routes.php中设置 $route['scaffolding_trigger'] = “scaffolding”;
早期版本 : 在autoload.php中设置 $autoload['core'] = array(‘database’);
这样的话会报错: Fatal error: Call to a member function get() on a non-object in \www\CodeIgniter \system\application\controllers\blog.php on line 12
现在版本 : 将数据库装载集成到了 $autoload['libraries']参数中,设置 $autoload['libraries']= array(‘database’);即可。
问题1:关于类的父类及构造函数
早期版本 : class blog extends Controller{} ; 继承父类构造函数: parent::Controller();现在版本 : class blog extends CI_Controller{} ; 继承父类构造函数: parent::__Construct();
问题2:关于scaffolding函数
scaffolding函数封装了对表的CRUD操作,可视化的进行修改,现在版本已经去掉。早期版本 : 在类构造函数中load : $this->load->scaffolding(‘table_name’);
现在版本 : 在config/routes.php中设置 $route['scaffolding_trigger'] = “scaffolding”;
问题3:关于数据库的加载
首先在config/database.php中设置连接数据库参数,然后在autoload.php中设置,在模型或控制器中调用查询 $data['query'] = $this->db->get(‘table_name’);早期版本 : 在autoload.php中设置 $autoload['core'] = array(‘database’);
这样的话会报错: Fatal error: Call to a member function get() on a non-object in \www\CodeIgniter \system\application\controllers\blog.php on line 12
现在版本 : 将数据库装载集成到了 $autoload['libraries']参数中,设置 $autoload['libraries']= array(‘database’);即可。