bounty将在4天后过期。回答此问题可获得+250的声望奖励。Fréderic Cox正在寻找来自声誉良好来源的答案。
我一直在将一些过时的PHP代码移植到PHP 8.1,并注意到从PHP 8.0开始,某些内置函数在传递的参数类型不正确时会抛出TypeError异常,而不是仅仅发出警告。See here.
我很困惑,我似乎找不到这个变化的全面描述。我运行的代码检查工具也没有发现它,但我也不能责怪他们,因为这可能是一个运行时问题。一些来源报告说,所有内置函数都被提升为抛出TypeErrors,我已经在PHP的修改日志中搜索了这个修改,只找到了两个受影响的函数,这两个函数是array_column()和count(),而后者恰好让我意识到了我正在迁移的代码库中的这个问题。这是否意味着只有这两个函数受到了更改的影响?
如果有人能澄清这一点,我将非常感激。
1条答案
按热度按时间jchrr9hc1#
此更改由RFC https://wiki.php.net/rfc/consistent_type_errors进行。
所有更改均在此处https://github.com/php/php-src/pull/3794/files
你可以在上面的PR上写一个解析器来得到一个函数列表。