我试图在PHP7.4到8.0的中断更改中理解是什么导致下面的行抛出致命的TypeError。显然,我知道这是不正确的,但需要弄清楚是什么原因造成的。也许它与php.ini默认值的更改有关?使用PHP7.4没有任何错误。
echo method_exists(false, 'pre_setup') . PHP_EOL;发布于 2022-01-04 20:29:25
我不知道为什么它没有列出任何地方的突破性变化(除非我遗漏了什么)。看上去确实是这样的。
改变是Bug #79462被修复,这使method_exists和property_exists的行为一致。该决定将与这两种行为中更为严格的一种行为相一致,并对无效的论点提出一个TypeError。
它是在PHP 8变更量g中列出的,尽管我能理解为什么很难找到它。
其中一个Symfony核心团队在这里为它打开了一个PHP:https://bugs.php.net/bug.php?id=79623,所以您肯定不是唯一受影响的人。
https://stackoverflow.com/questions/70584290
复制相似问题