CI4控制器与路由迁移摘要 | AI生成和翻译

Home 2026.04

推送完成!以下是完整的会话摘要:


🦞 路由修复 —— 完成事项

根本原因: CI4 不使用 __construct() —— 它使用 initController() 进行控制器初始化。

在所有 24 个控制器和 6 个模型中修复的内容:

修复项 详情
路由已定义 所有约 100 个 CI3 路由已转换为 CI4 的 $routes->get/post/match() 格式
__construct()initController() PHP 8.5 调用 initController() 而非 __construct()。所有子控制器已完成转换。
命名空间顺序 在 PHP 中,namespace 必须位于 use 语句之前
use AppModelsXxxApp\Models\Xxx 修复了缺少反斜杠的 use 语句
public public functionpublic function 删除了重复的修饰符
$this->load->library/model → 已移除 CI3 的加载器在 CI4 中不存在 —— 改用直接 new ClassName()
HTTP 方法后缀已剥离 isRegister_get()isRegister()(显式路由,不使用 REST 后缀)
缺失的 use 引用库/模型 控制器现在导入所有其使用的 App\Libraries\*App\Models\*
update() 签名冲突 LiveDaoAttendanceDaoWechatGroupDao —— 重命名为 updateRow()(与 PHP 8 的 Model::update() 不兼容)
新增 448 个常量 所有 CI3 的 ERROR_*KEY_*CHANNEL_*TRANS_TYPE_* 常量现在位于 app/Config/Constants.php
创建 QiniuLive.php 缺失的流媒体库的 CI4 版本

结果: 11 条路由已测试 —— 全部返回 HTTP 200。🎉


Back Donate