关于 bitrix-controllers
面向 Bitrix 开发者的技能指南,整理控制器、过滤器、响应和 REST v3 的实现规则,并指出版本差异及常见错误。
主要功能
- 01控制器与动作规则
- 02过滤器配置指南
- 03错误与响应处理
- 04REST v3 说明
- 05版本兼容注意事项
适用场景
- 01实现 Bitrix 控制器动作
- 02按内核版本配置过滤器
- 03排查控制器路由与 REST 问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-controllers安装后在 Claude Code 中输入/bitrix-controllers确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/basics.mderrors-response.mdfilters.md详细介绍
Bitrix 控制器
基线:main 23.0+ · 已验证:main 26.800.0
| 任务 | 阅读 |
|---|---|
| 文件、操作名称、最简控制器、自动注入参数、PageNavigation | rules/basics.md |
默认前置过滤器、过滤器属性、configureActions()、#[ActionAccess]、自定义过滤器 | rules/filters.md |
错误、JSON 封装、响应类、renderView()、作用域、REST v3 | rules/errors-response.md |
不变量
- 操作仅负责编排:输入 → 服务 →
Result→ 数据或addErrors()。服务应作为操作参数传入(DI 惯例:bitrix-framework)。 - 过滤器属性仅适用于 main 26.250* 起的版本;较旧内核请使用
configureActions()。同一个操作绝不能同时使用两者(ActionConfigurationException)。 METHOD_*常量属于ActionFilter\HttpMethod,不属于属性Attribute\Rule\HttpMethod。在属性上引用这些常量会在构建控制器时抛出异常,导致该控制器的所有操作都失效。- 规则属性会追加到默认项(
Authentication、HttpMethod([GET, POST])、Csrf)。再次添加#[Authentication]或#[Csrf]会导致过滤器运行两次。 - 使用 PascalCase 文件时,类名中的控制器部分也要使用类名大小写:
vendor:module.Post.create。小写的post会解析到lib/infrastructure/controller/post.php,并在 Linux 上失败。REST 会将方法名称转换为小写,因此 PascalCase 控制器无法通过经典 REST 访问(bitrix-rest)。 - HTML(
renderView/renderComponent)仅适用于通过路由访问的控制器;BX.ajax.runAction()需要 JSON。
评论
支持 Markdown