mcpField
B
bitrix-controllers

bitrix-controllers

github.com/bxmaximum开发47178 次安装2 周前更新
代码仓库

关于 bitrix-controllers

面向 Bitrix 开发者的技能指南,整理控制器、过滤器、响应和 REST v3 的实现规则,并指出版本差异及常见错误。

主要功能

  1. 01控制器与动作规则
  2. 02过滤器配置指南
  3. 03错误与响应处理
  4. 04REST v3 说明
  5. 05版本兼容注意事项

适用场景

  1. 01实现 Bitrix 控制器动作
  2. 02按内核版本配置过滤器
  3. 03排查控制器路由与 REST 问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix-controllers

安装后在 Claude Code 中输入/bitrix-controllers确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
basics.md
errors-response.md
filters.md

详细介绍

Bitrix 控制器

基线:main 23.0+ · 已验证:main 26.800.0

任务阅读
文件、操作名称、最简控制器、自动注入参数、PageNavigationrules/basics.md
默认前置过滤器、过滤器属性、configureActions()、#[ActionAccess]、自定义过滤器rules/filters.md
错误、JSON 封装、响应类、renderView()、作用域、REST v3rules/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