diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-11-30 16:45:48 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-11 21:46:13 +0100 |
commit | b10416a652d26577a22fe0b183b2258b20c8bb86 (patch) | |
tree | 3b79102286b2307575f487bf97d572ffc292631d /UPGRADING | |
parent | f06895488a5fabd27ac4c2e66a9d311f14d8594e (diff) | |
download | php-git-b10416a652d26577a22fe0b183b2258b20c8bb86.tar.gz |
Deprecate passing null to non-nullable arg of internal function
This deprecates passing null to non-nullable scale arguments of
internal functions, with the eventual goal of making the behavior
consistent with userland functions, where null is never accepted
for non-nullable arguments.
This change is expected to cause quite a lot of fallout. In most
cases, calling code should be adjusted to avoid passing null. In
some cases, PHP should be adjusted to make some function arguments
nullable. I have already fixed a number of functions before landing
this, but feel free to file a bug if you encounter a function that
doesn't accept null, but probably should. (The rule of thumb for
this to be applicable is that the function must have special behavior
for 0 or "", which is distinct from the natural behavior of the
parameter.)
RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg
Closes GH-6475.
Diffstat (limited to 'UPGRADING')
-rw-r--r-- | UPGRADING | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -27,6 +27,16 @@ PHP 8.1 UPGRADE NOTES array is no longer supported. For example, array_pop($GLOBALS) will result in an error. RFC: https://wiki.php.net/rfc/restrict_globals_usage + . Passing null to a non-nullable argument of a built-in function is + deprecated. This matches the behavior of user-defined functions, where null + is never accepted by non-nullable arguments. + user-defined functions. + + var_dump(str_contains("foobar", null)); + // Deprecated: Passing null to parameter #2 ($needle) of type string + // is deprecated + + RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg - Fileinfo: . The fileinfo functions now accept and return, respectively, finfo objects |