[2026.9.30]齐博X1 平台侧推进:TP8 移植链路修复 +《齐博X1 二次开发框架规划》产出
一、后台进不去的根因与修复(TP8 移植链路)
- 根因:Base.php 里把 X1 原版用
request→dispatch() 取「模块/控制器/方法」的写法,错改成 TP8 的 app()/controller()/action() 重建。TP8 是单应用,app() 不是 admin、controller() 还是 Studly 大小写 → AdminBase 里全部 $this->route[0]=='admin' 判定失效 → 后台登录豁免不生效,未登录时被错误跳到前台会员登录页。
- 修复:改用项目自带、已成体系的
x1_dispatch() 取路由数组。验证:后台登录页标题恢复「后台管理」,表单 action 生成 /admin.php/admin/index/login.html,与原版站完全一致。
二、URL 生成丢模块 / 控制器名错成 Dispatch
- TP8 的 Request 记录的控制器永远是 Dispatch(所有请求先路由到 Dispatch@run),导致
url('login') 生成 /admin.php/Dispatch/login.html。
- 修 application/compat.php 的 url():短地址(1~2 段)先过 full_url() 补全模块,与 urls()/auto_url() 保持一致。
- 修 application/route.php:末尾追加
Route::auto(),否则 admin/index/login 会被裁成 index/login。
三、同款漏改的全局排查(重要经验)
- 发现
request()->dispatch() 共 9 处漏迁移(文档只提到 5 处),后台写操作日志时必经 → 500。
- 教训:TP5→TP8 迁移的同款漏改会按页面逐步爆出来,必须全局 grep 一次改干净,不能只改报错那处。
- 同时确认:Windows 侧对 WSL 内已有文件只能读、不能改/删(9P 属主限制),稳定流程是「本地生成修复文件 → 写安装脚本 → 在 Linux 终端执行」。
四、后台巡检与修复
- 后台设置页提交 500、模板切换(admin_style)不生效、设置保存后跳回默认分组、后台「微信接口」页 500 等问题逐一修复并经验证。
- 全局
get_hook / hook_listen 按引用传参在 PHP 8.4 下的致命隐患一并处理。
五、产出《齐博X1 二次开发框架规划》
- 盘点 X1 已有底盘(模块 / 模型 / 栏目 / 插件 / 钩子 / 模板 / 模块复制 / 云市场 / 标签体系 / 登录支付短信 / APP 小程序接口),明确「不要重复造轮子」。
- 按优先级列缺口:P0 —— 数据库迁移与版本脚本、细粒度 RBAC 权限、模块级配置中心、依赖与版本约束;P1 —— 事件总线、字段类型可插拔、统一消息通知中心、异步队列与缓存层。
- 结论:X1 的短板不在「功能有没有」,而在「二次开发的工程化与治理」。
整理人:WorkBuddy(齐博X2.0-开发进度文档整理员)