'PHP 8.2 is a major update of the PHP language. Readonly classes, null, false, and true as stand-alone types, deprecated dynamic properties, performance improvements and more', 'documentation' => 'Doc', 'main_title' => 'Released!', 'main_subtitle' => 'PHP 8.2 is a major update of the PHP language.
It contains many new features, including readonly classes, null, false, and true as stand-alone types, deprecated dynamic properties, performance improvements and more.', 'upgrade_now' => 'Upgrade to PHP 8.2 now!', 'readonly_classes_title' => 'Readonly classes', 'dnf_types_title' => 'Disjunctive Normal Form (DNF) Types', 'dnf_types_description' => 'DNF types allow us to combine union and intersection types, following a strict rule: when combining union and intersection types, intersection types must be grouped with brackets.', 'null_false_true_types_title' => 'Allow null, false, and true as stand-alone types', 'random_title' => 'New "Random" extension', 'random_description' => '

The "random" extension provides a new object-oriented API to random number generation. Instead of relying on a globally seeded random number generator (RNG) using the Mersenne Twister algorithm the object-oriented API provides several classes ("Engine"s) providing access to modern algorithms that store their state within objects to allow for multiple independent seedable sequences.

The \Random\Randomizer class provides a high level interface to use the engine\'s randomness to generate a random integer, to shuffle an array or string, to select random array keys and more.

', 'constants_in_traits_title' => 'Constants in traits', 'constants_in_traits_description' => 'You cannot access the constant through the name of the trait, but, you can access the constant through the class that uses the trait.', 'deprecate_dynamic_properties_title' => 'Deprecate dynamic properties', 'deprecate_dynamic_properties_description' => '

The creation of dynamic properties is deprecated to help avoid mistakes and typos, unless the class opts in by using the #[\AllowDynamicProperties] attribute. stdClass allows dynamic properties.

Usage of the __get/__set magic methods is not affected by this change.

', 'new_classes_title' => 'New Classes, Interfaces, and Functions', 'new_mysqli' => 'New mysqli_execute_query function and mysqli::execute_query method.', 'new_attributes' => 'New #[\AllowDynamicProperties] and #[\SensitiveParameter] attributes.', 'new_zip' => 'New ZipArchive::getStreamIndex, ZipArchive::getStreamName, and ZipArchive::clearError methods.', 'new_reflection' => 'New ReflectionFunction::isAnonymous and ReflectionMethod::hasPrototype methods.', 'new_functions' => 'New curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length functions.', 'bc_title' => 'Deprecations and backward compatibility breaks', 'bc_string_interpolation' => 'Deprecated ${} string interpolation.', 'bc_utf8' => 'Deprecated utf8_encode and utf8_decode functions.', 'bc_datetime' => 'Methods DateTime::createFromImmutable and DateTimeImmutable::createFromMutable has a tentative return type of static.', 'bc_odbc' => 'Extensions ODBC and PDO_ODBC escapes the username and password.', 'bc_str_locale_sensitive' => 'Functions strtolower and strtoupper are no longer locale-sensitive.', 'bc_spl_enforces_signature' => 'Methods SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc, and SplFileObject::fpassthru enforces their signature.', 'bc_spl_false' => 'Method SplFileObject::hasChildren has a tentative return type of false.', 'bc_spl_null' => 'Method SplFileObject::getChildren has a tentative return type of null.', 'bc_spl_deprecated' => 'The internal method SplFileInfo::_bad_state_ex has been deprecated.', 'footer_title' => 'Better performance, better syntax, improved type safety.', 'footer_description' => '

For source downloads of PHP 8.2 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

The migration guide is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.

', ];