raigu / php80-stringable-polyfill
将PHP8.0的Stringable特性回退到较低版本的PHP的polyfill
v1.0.0
2020-04-19 17:57 UTC
Requires
- php: >=7.4.0
This package is auto-updated.
Last update: 2024-08-28 21:56:42 UTC
README
PHP8.0的Stringable接口到PHP7.4+的polyfill
允许在PHP7.4+中使用将在PHP8.0中出现的Stringable接口。
动机
当前在symfony/polyfill中的polyfill没有满足我的需求。
首先,它没有明确遵循与提案相同的接口签名(缺少返回类型)。
其次,我从__toString文档中了解到,在PHP 7.4.0之前,无法从__toString()方法中抛出异常。这样做会导致致命错误。symfony/polyfill没有警告用户,并允许从PHP 7.0.8开始使用polyfill。此包在composer.json中明确指出此限制,从而避免了误用。
安装
$ composer require raigu/php80-stringable-polyfill
许可证
此项目受MIT许可证许可。
致谢
我想感谢Guilliam Xavier提供Stringable接口的替代名称。尽管他的建议没有被接受,但谷歌已经抓取了关键词。我在解决相同问题时检查我的名称候选项时偶然发现了Guilliam的帖子。现在,我不再需要继续自己的工作,而是可以创建未来兼容的解决方案,这些解决方案更容易证明其合理性。