3.x升级4.x
类加载
-
不再有 CodeIgniter “超级对象”,其中框架组件引用以属性的形式神奇地注入到你的控制器中。
-
类根据需要进行实例化,框架组件通过 服务 进行管理。
-
自动加载程序 自动使用 PSR-4 风格定位类,在
App
(app 文件夹)和CodeIgniter
(即 system 文件夹)顶级命名空间内;具有 Composer 自动加载支持。 -
你可以配置类加载以支持你最习惯的任何应用程序结构,包括“HMVC”风格。
-
CI4 提供可以像 CI3 中的
$this->load
一样加载类和共享实例的 工厂。
库
-
你的应用类仍然可以放在 app/Libraries 中,但不必这样做。
-
不再使用 CI3 的
$this->load->library('x');
,现在可以使用$this->x = new \App\Libraries\X();
,遵循你组件的命名空间约定。或者,你可以使用 工厂:$this->x = \CodeIgniter\Config\Factories::libraries('X');
。