是否有一个完整的列表列出了自PHP8.0以来会抛出TypeError异常的内置PHP函数?

vuv7lop3  于 2022-10-30  发布在  PHP
关注(0)|答案(1)|浏览(128)

bounty将在4天后过期。回答此问题可获得+250的声望奖励。Fréderic Cox正在寻找来自声誉良好来源的答案

我一直在将一些过时的PHP代码移植到PHP 8.1,并注意到从PHP 8.0开始,某些内置函数在传递的参数类型不正确时会抛出TypeError异常,而不是仅仅发出警告。See here.
我很困惑,我似乎找不到这个变化的全面描述。我运行的代码检查工具也没有发现它,但我也不能责怪他们,因为这可能是一个运行时问题。一些来源报告说,所有内置函数都被提升为抛出TypeErrors,我已经在PHP的修改日志中搜索了这个修改,只找到了两个受影响的函数,这两个函数是array_column()count(),而后者恰好让我意识到了我正在迁移的代码库中的这个问题。这是否意味着只有这两个函数受到了更改的影响?
如果有人能澄清这一点,我将非常感激。

jchrr9hc

jchrr9hc1#

此更改由RFC https://wiki.php.net/rfc/consistent_type_errors进行。
所有更改均在此处https://github.com/php/php-src/pull/3794/files
你可以在上面的PR上写一个解析器来得到一个函数列表。

相关问题