facebook / definition-finder
此包已被废弃且不再维护。未建议替代包。
在PHP或Hack文件中查找定义。对自动加载器很有用。
v2.16.0
2022-04-21 18:51 UTC
Requires
- hhvm: ^4.158
- hhvm/hhast: ^4.158
- hhvm/type-assert: ^3.2|^4.0
Requires (Dev)
- facebook/fbexpect: ^2.6.1
- hhvm/hacktest: ^2.0
- hhvm/hhvm-autoload: ^2.0|^3.0
- dev-main / 2.x-dev
- v2.16.0
- v2.15.0
- v2.14.2
- v2.14.1
- v2.14.0
- v2.13.5
- v2.13.4
- v2.13.3
- v2.13.2
- v2.13.1
- v2.13.0
- v2.12.6
- v2.12.5
- v2.12.4
- v2.12.3
- v2.12.2
- 2.12.1
- 2.12.0
- v2.11.1
- v2.11.0
- v2.10.0
- v2.9.0
- v2.8.1
- v2.8.0
- v2.7.0
- v2.6.0
- v2.5.0
- v2.4.0
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.x-dev
- v1.7.7
- v1.7.6
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.4
- v1.4.3
This package is auto-updated.
Last update: 2023-08-07 02:00:24 UTC
README
这个库可以在HHVM理解的文件或树中找到所有定义。它用于生成Hack参考文档,还可用于其他用途,如生成自动加载映射
此项目需要HHVM 3.9或更高版本 - 然而,如果被扫描的代码需要HHVM的更高版本,definition-finder可能无法在较低版本上解析它。
使用
有三个主要入口点
FileParser::FromFile(string $filename)
FileParser::FromData(string $data, ?string $filename = null)
TreeParser::FromPath(string $path)
FileParser
从单个文件返回定义,而TreeParser
则递归遍历整个目录树。所有3个函数都返回BaseParser
的实现。存在三种访问形式
getClasses(): vec<ScannedClass>
- 返回一个vec
的ScannedClass
,它具有与ReflectionClass
相似的接口getClassNames(): vec<string>
- 返回一个类名的vec
getClass(string $name): ScannedClass
- 返回指定类的ScannedClass
,如果没有找到则抛出异常
类似的功能也存在于接口、特性、常量、枚举和类型定义。
安装
hhvm composer require facebook/definition-finder
状态
API是稳定的,并且在生产中用于生成Hack参考文档。
实现
这是一个基于token_get_all()
暴露的标记流构建的递归解析器。
贡献
我们欢迎GitHub问题和拉取请求 - 请参阅CONTRIBUTING.md以获取详细信息。
许可
definition-finder是MIT许可。