升级配置

文档

更改内容

  • 在 CI4 中,配置现存储在扩展 CodeIgniter\Config\BaseConfig 的类中。

  • CI3 中的 application/config/config.php 将变为 app/Config/App.php,而一些其他文件(如 app/Config/Security.php)将用于特定类。

  • 在配置类中,配置值存储在公共类属性中。

  • 获取配置值的方法已更改。

升级指南

  1. 您必须根据 CI3 文件中的更改,更改默认 CI4 配置文件中的值。配置名称与 CI3 中的名称几乎相同。

  2. 如果您在 CI3 项目中使用自定义配置文件,您必须在 CI4 项目中的 app/Config 中将这些文件创建为新的 PHP 类。这些类应位于 Config 命名空间中,并且应扩展 CodeIgniter\Config\BaseConfig

  3. 创建所有自定义配置类后,您必须将变量从 CI3 配置复制到新的 CI4 配置类中,作为公共类属性。

  4. 现在,您必须在获取配置值的所有位置更改配置获取语法。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 = '[email protected]';

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 = '[email protected]';
}