CodeIgniter自动加载配置的核心目标是按需加载、减少冗余。优先用classmap明确指定高频类,PSR-4按需启用;配置文件只全局加载全站通用项;第三方库交由Composer管理,CI4原生支持,CI3需手动引入autoload.php;修改后须清理缓存。

CodeIgniter 自动加载配置的核心目标是:该用的类和文件提前载入,不用的不占资源。省事的关键不是“少写几行”,而是让框架启动时只做必要动作,避免重复判断、路径搜索或运行时加载。
优先用 classmap 明确指定高频类
PSR-4 自动发现虽方便,但每次请求都要遍历目录。把项目里高频使用的非 PSR-4 类(比如自定义的 EmailService、CacheManager)直接写进 app/Config/Autoload.php 的 $classmap 数组里,格式为:['EmailService' => APPPATH . 'Libraries/EmailService.php']。
这样框架跳过搜索,直接 require,启动快、逻辑稳。
配置文件按需自动加载,别堆在 autoload.php 里
不是所有 config 文件都需要全局加载。只把真正全站通用的(比如 database.php、app.php)加到 $config 数组;业务模块专用的(如 payment.php、wechat.php)留在控制器里用 $this->config->load('payment') 手动加载。
好处是:减少内存占用,避免不同模块配置项意外覆盖。
第三方库交给 Composer 管,CI 不插手
CI4 原生支持 Composer,只要包装对了,不需要在 CI 配置里额外声明。
部署时执行:composer dump-autoload --optimize
就能生成高效映射表。
CI3 则必须在 index.php 开头手动引入:if (file_exists(APPPATH . '../vendor/autoload.php')) { require_once APPPATH . '../vendor/autoload.php'; }
环境变量和缓存要同步清理
改完 .env 或 Autoload.php 后,别忘了清掉缓存:php spark cache:clear
或者手动删掉 writable/cache/ 下内容。
否则新配置可能被旧缓存掩盖,看着像“没生效”。


















