我开始升级到 PHP 8.1,我遇到的问题之一是Passing null to parameter #1 ($string) of type string is deprecated。(请参阅相关问题和有问题的 RFC)
例如,默认情况下,我的所有数据库结果都运行通过htmlspecialchars()
,如果该字段是 ,这将导致问题null
,如下所示:
php > $foo = null;
php > echo htmlspecialchars($foo);
PHP Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in php shell code on line 1
Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in php shell code on line 1
php >
由于遗留代码依赖于鸭式打字,这可能会出现在任何地方,并且有谁知道有多少功能。我将不得不手动搜索所有遗留代码以找到可能被评估的null
实例。
到目前为止,我还没有找到已被破坏修复的内部函数的列表。任何人都可以指出这些功能的列表吗?