- XF 兼容性
- 2.3.x
- 摘要
- XenForo type generator tool fills gaps left by core, types board options, XFCP proxies, and cross-addon columns. Use xf-typegen with --out to generate PHPStorm metadata JSON files for better IDE support. Open source at https://github.com/wh1teend/xf-typegen.
XenForo 已经自行处理了大部分的运行时魔法 —— xf-dev:generate-phpstorm-meta(在 2.2 和 2.3 版本中已包含)解决了字符串风格的调用点,实体提供了完整的@property, 和在 2.3 版本中,generics 处理::class 风格和查找链。这个工具故意狭窄:它填补了核心留下的少数空白。
什么核心不进行类型定义,无论是哪个版本:
- []]*板选项— XF:😱ptions()->boardTitle是混合的;这给了它一个真正的类型。[]]*XFCP代理— class Foo extends XFCP_Foo 指向一个未在文件中定义的运行时构建类,该类被标记为不可用;这声明了它们。[]]*跨添加列一列另一个通过XFCP添加到实体中的附加列不在该实体已发货中@property;這讀的是構成結構,所以包含在內。
如果你在2.3,并且那些没有咬你,货真价实的开发工具已经照顾到了你。
- []]*_id_helper_options.php— 每个板选项一行输入属性。[]]*_id_helper_xfcp.php— 运行时 XFCP_* 代理的声明。[]]*_id_helper.php— 创建 Finder/Collection 标签(主要是针对 2.2 版)+ 实体@property从结构上。[]]*.phpstorm.meta.php— 字符串风格的调用点分辨率(重复了xf-dev:generate-phpstorm-meta;跳过--targets选项,xfcp,ide-helper)。
代码:
xf-typegen extract /path/to/xenforo --out /path/to/xenforo/xf-typegen.json
xf-typegen generate -i /path/to/xenforo/xf-typegen.json
Keep the _ide_helper*.php files out of your PHP autoload — static analysis only.