一楼文档:CI4中翻文档 https://codeigniter-chinese.github.io/codeigniter4-user-guide/
只列举我在升级中遇到的问题,更多问题可以参考手册或讨论
1.公用配置(如数据库)写入.env 文件,baseURL符合http://example.com带协议名
2.不再是$this->db直接引用数据库,用$dbSource = $this->db->table($table_name);取代
3.查询结果不再有$query->num_rows(),使用$query->resultID->num_rows取代.应该有其他更标准的方法
4.不再有$query->result_array(),使用$query->getResultArray();取代
5.不再有$this->load->view('index', $data);,使用return view('index', $data);取代
6.开启session:$this->session = \Config\Services::session();$this->session->start();
7.不再有$this->input->post();, 使用use Config\Services;$request = Services::request();
$request->getPost();取代
8.不再有log_message('INFO',$message),使用log_message('8',$message)取代
9.不再有$this->load->model(“example_model”); 使用use App\Models\Example_model;$this->example_model = new Example_model();取代
10.不再有$query->row_array(),使用$query->getRowArray();取代
11.事务关键字改为transStart、 transStatus 、transComplete 、transRollback
12.不再有$this->db->last_query(),(仅限继承了数据库基类的model中)使用
$getLastQuery = $this->db->getLastQuery(); $getLastQuery->getQuery();取代
13. CSPE安全配置(基于对每个文件添加标识防止调用外部文件和跨站脚本) Config/App.php 配置 public $CSPEnabled = true;
14.session需要配置保存路径 配置名为sessionSavePath