facebook/definition-finder

此包已被废弃且不再维护。未建议替代包。

在PHP或Hack文件中查找定义。对自动加载器很有用。

v2.16.0 2022-04-21 18:51 UTC

README

Continuous Integration

这个库可以在HHVM理解的文件或树中找到所有定义。它用于生成Hack参考文档,还可用于其他用途,如生成自动加载映射

此项目需要HHVM 3.9或更高版本 - 然而,如果被扫描的代码需要HHVM的更高版本,definition-finder可能无法在较低版本上解析它。

使用

有三个主要入口点

FileParser从单个文件返回定义,而TreeParser则递归遍历整个目录树。所有3个函数都返回BaseParser的实现。存在三种访问形式

  • getClasses(): vec<ScannedClass> - 返回一个vecScannedClass,它具有与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许可