跳到主要内容
AidoSaaS-CMS 企业主题 · 全站可视化编辑 订阅 站点地图

AidoSaaS-CMS 插件开发:钩子、路由、伪静态与 REST

AidoSaaS-CMS 插件开发:钩子、路由、伪静态与 REST

插件如何注册生命周期钩子?如何挂载自己的页面路由与伪静态规则?如何暴露 REST API?本文用最小可运行示例串起插件开发的完整链路。

AidoSaaS-CMS 的插件系统遵循「扩展点优先、内核零改动」原则:插件通过钩子注入行为,通过路由注册入口挂载自己的页面与 API,全程不碰内核源码。

钩子:行为注入

插件用 add_filter() / add_action() 挂载到内核暴露的扩展点。例如通过 aidocms_csp 过滤器向 CSP 响应头追加自己域名的资源,通过 aidocms_admin_nav 向后台导航添加菜单项。

路由:挂载自己的页面

内核开放了路由注册入口、重写引擎的 public 静态方法,以及一个路由初始化钩子。插件在初始化阶段调用这些接口,即可拥有自己的页面 URL 与伪静态规则,和核心路由平级派发。

插件路由注册
占位图:插件在初始化钩子里注册自定义路由与伪静态规则
插件路由注册与伪静态效果
占位图:插件路由注册与伪静态效果

REST:对外暴露 API

插件可声明 REST 控制器,把业务能力以 JSON 接口对外提供(鉴权、限流、跨站校验由内核统一兜底)。这让「CMS + 插件」可以平滑演化为一个小型应用平台。

最小插件骨架

CODE
// my-plugin/bootstrap.php
add_action('aidocms_init', function () {
    // 注册路由 / 钩子 / REST
});

扩展纪律

  • 不修改 src/ 内核文件,所有扩展走钩子与路由入口;
  • 第三方项字段不可信,读取时一律 ?? [] / ?? '' 兜底;
  • 若插件引入配置,确保配置项在前台被真实消费。

常见问题

插件能注册自己的 URL 吗?

可以。内核开放了路由注册入口与重写引擎的 public 静态方法,插件在初始化钩子里注册即可。

插件会影响安全头吗?

通过 aidocms_csp 过滤器追加自己的域名即可,无需改动内核文件。

分享

李文心

本文作者 · 发布于 2026-09-07

全部文章

评论 (0)

还没有评论,来抢沙发吧。