升级配置
文档
变更内容
在 CI4 中,配置现在存储在继承
CodeIgniter\Config\BaseConfig的类中。CI3 中的 application/config/config.php 对应 CI4 的 app/Config/App.php, 以及其他针对特定类的文件,例如 app/Config/Security.php。
在配置类中,配置值存储为公共类属性。
获取配置值的方法已发生变化。
升级指南
根据 CI3 文件中的变更,修改 CI4 默认配置文件中的值。配置名称与 CI3 基本一致。
如果在 CI3 项目中使用了自定义配置文件,需要在 CI4 项目的 app/Config 中将其创建为新的 PHP 类。这些类应位于
Config命名空间,并继承CodeIgniter\Config\BaseConfig。创建所有自定义配置类后,将 CI3 配置中的变量复制到新的 CI4 配置类中,并作为公共类属性。
更新所有获取配置值的代码语法。CI3 的写法类似
$this->config->item('item_name');,需要改为config('MyConfig')->item_name;。
代码示例
CodeIgniter 3.x 版本
路径:application/config/site.php:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$siteName = 'My Great Site';
$siteEmail = 'webmaster@example.com';
CodeIgniter 4.x 版本
路径:app/Config/Site.php:
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class Site extends BaseConfig
{
public $siteName = 'My Great Site';
public $siteEmail = 'webmaster@example.com';
}