quizlet / fb_intercept_polyfill
用于在 hhvm 3.24 -> 4.present 版本中使用 fb_intercept 的 polyfill
Requires
- hhvm: >=4.26
- hhvm/hhvm-autoload: ^1|^2|^3
- hhvm/hsl: >=4.7 <5
Requires (Dev)
- facebook/fbexpect: ^1|^2
- hhvm/hacktest: ^1|^2
This package is auto-updated.
Last update: 2024-09-21 01:31:54 UTC
README
用于在 hhvm 3.24 -> 4.present 版本中使用 fb_intercept 的 polyfill
为什么你不需要这个 polyfill。这个 polyfill 桥接了在过渡期前理解 inout
而不理解 &$references
的 hhvm 和不理解 &$references
的 hhvm 之间的差距。《HH\Lib\Ref&$references
的过渡期,但它有 HH\Lib\Ref
支持,你可能想使用这个 polyfill。
限制
fb_intercept()
是一个内置函数。这给了它一个超级能力,就是它本身不能被拦截。polyfill 是用户空间代码,因此它可以被拦截。因此,你不能使用空字符串 ''
(空字符串)作为通配拦截键,因为你将拦截对 polyfill 本身的调用。这使得在此之后调用 fb_intercept()
变得不可能。如果你传递通配键给 polyfill,它会抛出异常,告诉你这不被支持。如果你故意按名称拦截 polyfill,你将无法恢复它。所以不要这样做。😉
为库作者提供的安装说明
版本 v1.x.x 和 v2.x.x 将保留 API 互操作性作为承诺。v1 只能在 hhvm 4.28 及以下版本上运行,v2 只能在 4.20 及以上版本上运行。公共 API 没有改变,只有 hhvm 版本要求和一些实现细节。
因此我们强烈建议您为此库设置版本约束为 "^1|^2"
。这是在所有 hhvm 版本上可安装的必要条件。
不打算在旧版 hhvm 版本上运行的此库用户可以设置 "^2"
约束,但 "^1|^2"
约束也会适用于您。