91carriage/phpunit-hhi

此包已被弃用且不再维护。作者建议使用hhvm/hacktest包代替。

PHPUnit的HHI定义


README

build status

此包为主PHPUnit包提供HHI文件。它不提供任何运行时功能。

HHI文件是告诉Hack工具关于非Hack代码的文件,提供必要的名称和类型,以便Hack确保你正确使用非Hack代码。

安装

安装此包的最简单方法是使用Composer

为此,请在你的composer.jsonrequire-dev部分添加"91carriage/phpunit-hhi": "~6.2.0",或者运行composer require --dev '91carriage/phpunit-hhi:~6.2.0'

不建议将其作为requires部分的一部分安装,因为它仅在开发期间使用。

手动安装只需下载提供的源代码并将其复制到你的仓库中。

问题

可以通过问题跟踪器提交问题。

如果你无法通过此方式创建问题,或者认为问题不应该公开披露,也可以直接通过issues@91carriage.com发送电子邮件,或在FreeNode的官方#hhvm频道上通过我的IRC昵称simon_wsimon_w|air引起我的注意。

贡献

非常欢迎贡献。请确保你在源目录中运行hh_client,并在你的.hhconfig中设置assume_php=false,且没有错误报告。

代码风格

对于Hack文件,代码风格通过包含在Hack工具中的hh_format命令强制执行,该命令与hh_client一起提供。由于HHI文件是decl文件,你需要对这些文件运行带有--yolo选项的hh_format

对于其他文件,基本要求如下

  • wherever possible,行长度不超过80个字符。
  • 缩进为2个空格。
  • 使用Unix风格的(\n)行结束符。

文件类型

不存在的类类型

如果需要对象类型,而这个对象在不同的包中,或者集成在HHVM中并且尚未有HHI文件,请将预期的类型作为注释添加。

例如,如果函数foo返回一个SplObject,而SplObject没有内置的HHI文件,则foo的定义将是

function foo() /*: SplObject*/;

许可

此代码在MIT (X11变种)许可下提供。完整文本可以在LICENSE.md文件中找到。