note 130147 added to migration80.incompatible

From: Date: Sun, 16 Mar 2025 01:05:37 +0000
Subject: note 130147 added to migration80.incompatible
Groups: php.notes 
Request: Send a blank email to php-notes+get-221977@lists.php.net to get a copy of this message
Bullet points given in the section "Other incompatible Changes" begin with the text shown: PHP Core Other incompatible Changes * match is now a reserved keyword. * mixed is now a reserved word, so it cannot be used to name ... * Assertion failures now throw by default. If the old behavior ... * Methods with the same name as the class are no longer interpreted as constructors. ... * The ability to call non-static methods statically has been removed. Thus ... * The (real) and (unset) casts have been removed. * The track_errors ini directive has been removed. ... * The ability to define case-insensitive constants has been removed. ... * The ability to specify an autoloader using an __autoload() ... * The errcontext argument will no longer be passed to custom ... * create_function() has been removed. Anonymous functions may be used instead. * each() has been removed. foreach or ArrayIterator should be used instead. * The ability to unbind this from closures that were created from ... * The ability to unbind this from proper closures that contain ... * The ability to use array_key_exists() with objects has ... * The behavior of array_key_exists() regarding the type of ... * Any array that has a number ''n'' as its first numeric key will use ''n+1'' for its next implicit key, ... * The default error_reporting level is now E_ALL. Previously ... * display_startup_errors is now enabled by default. * Using parent inside a class that has no parent will now result in a fatal ... * The @ operator will no longer silence fatal errors ... * #[ is no longer interpreted as the start of a comment, as ... * Inheritance errors due to incompatible method signatures (LSP violations) will now always generate a fatal error ... * The precedence of the concatenation operator has changed relative to bitshifts and addition as well as subtraction. * Arguments with a default value that resolves to null at runtime will no longer implicitly mark the argument type as ... * A number of warnings have been converted into Error exceptions: * Attempting to assign multiple bytes to a string offset will now emit a warning. * Unexpected characters in source files ... will now result in a ParseError exception ... * Uncaught exceptions now go through "clean shutdown", which means that destructors will be called after an uncaught exception. * The compile time fatal error "Only variables can be passed by reference" has been delayed until runtime, and ... * Some "Only variables should be passed by reference" notices have been converted to ... * The generated name for anonymous classes has changed. It will now include the name of the first parent or ... * Non-absolute trait method references in trait alias adaptations are now required to be unambiguous: ... * The signature of abstract methods defined in traits is now checked against the implementing class method: ... * Disabled functions are now treated exactly like non-existent functions ... * data:// stream wrappers are no longer writable, which matches the documented behavior. * The arithmetic and bitwise operators +, -, *, /, **, %, <<, , &, |, ^, ~, ++, -- will ... * Float to string casting will now always behave locale-independently. ... * Support for deprecated curly braces for offset access has been removed. ... * Applying the final modifier on a private method will now produce a warning ... * If an object constructor exit()s, the object destructor will no longer be called. ... * Namespaced names can no longer contain whitespace: ... * Nested ternaries now require explicit parentheses. * debug_backtrace() and Exception::getTrace() will no longer provide ... * Numeric string handling has been altered to be more intuitive and ... * Magic Methods will now have their arguments and return types checked ... * call_user_func_array() array keys will now be interpreted as ... * Declaring a function called assert() inside a namespace is no longer allowed, ... ---- Server IP: 45.112.84.4 Probable Submitter: 45.112.84.18 (proxied: 63.155.116.161) ---- Manual Page -- https://php.net/manual/en/migration80.incompatible.php Edit -- https://main.php.net/note/edit/130147 Del: integrated -- https://main.php.net/note/delete/130147/integrated Del: useless -- https://main.php.net/note/delete/130147/useless Del: bad code -- https://main.php.net/note/delete/130147/bad+code Del: spam -- https://main.php.net/note/delete/130147/spam Del: non-english -- https://main.php.net/note/delete/130147/non-english Del: in docs -- https://main.php.net/note/delete/130147/in+docs Del: other reasons-- https://main.php.net/note/delete/130147 Reject -- https://main.php.net/note/reject/130147 Search -- https://main.php.net/manage/user-notes.php

« previous php.notes (#221977) next »