diff --git a/appendices/migration54.xml b/appendices/migration54.xml index 7b3c673e0f..fdabd65186 100644 --- a/appendices/migration54.xml +++ b/appendices/migration54.xml @@ -72,20 +72,21 @@ The break and continue - keywords don't accept variable argument anymore. Consider using - a static constant argument. + statements don't accept variable arguments anymore, i.e. writing + break 1 + foo() * $bar; is not possible. You can obviously still use + static arguments, like break 2;. Safe mode is no - longer supported. Any application that rely on safe mode may need - adjustements in term of security. + longer supported. Any applications that rely on safe mode may need + adjustements in terms of security. - Salsa10 and Salsa20 hash algorithms have been removed. + The Salsa10 and Salsa20 hash algorithms have been removed. @@ -96,53 +97,60 @@ + + Magic quotes has been removed. Applications relying + on this feature need to be updated to avoid security issues. + get_magic_quotes_gpc and get_magic_quotes_runtime now always return false. set_magic_quotes_runtime raises an - E_CORE_ERROR + E_CORE_ERROR. - Non-numeric string offsets - e.g. $a['foo'] where $a is a string - now return - false on isset and true on empty, and produce warning - if trying to use them. Offsets of types double, bool and null produce notice. Numeric strings ($a['2']) - still work as before. Note that offsets like '12.3' and '5 and a half' are considered non-numeric - and produce warning, but are converted to 12 and 5 respectively for BC reasons. + Non-numeric string offsets - e.g. $a['foo'] where $a is a string - now return + false on isset and true on empty, and produce a warning + if you try to use them. Offsets of types double, bool and null produce a notice. Numeric strings + (e.g. $a['2']) still work as before. Note that offsets like '12.3' + and '5 foobar' are considered non-numeric and produce a warning, but are converted + to 12 and 5 respectively for BC reasons. - Turning null, false or empty string into an object by adding a property + Turning &null;, &false; or an empty string into an object by adding a property will now emit a warning instead of an E_STRICT error. - Converting array to string now will cause E_NOTICE warning. + Converting an array to string will now cause an E_NOTICE. The result of + the cast will still be "Array". - Shadowing names of superglobals for parameter names now causes a fatal error. + Parameter names that shadow superglobals now cause a fatal error. This prohibits code like + function foo($_GET, $_POST) {}. - array_combine now returns array() instead of FALSE + array_combine now returns array() instead of &false; when two empty arrays are provided as parameters. - call_user_func_array no longer allows call-time pass by reference. + Call-time pass by reference has been removed. htmlentities now emits an E_STRICT warning when used with - asian characters, as in that case htmlentities has (and already had before this version) - the same functionality as htmlspecialchars. + asian character sets, as in that case htmlentities has (and already had before + this version) the same functionality as htmlspecialchars.