raigu/php80-stringable-polyfill

将PHP8.0的Stringable特性回退到较低版本的PHP的polyfill

v1.0.0 2020-04-19 17:57 UTC

This package is auto-updated.

Last update: 2024-08-28 21:56:42 UTC


README

Latest Stable Version GitHub license

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的帖子。现在,我不再需要继续自己的工作,而是可以创建未来兼容的解决方案,这些解决方案更容易证明其合理性。