In this guide, we want to discuss Upcoming PHP 8.3 which will be the latest version of PHP programming language, and introduce the new features and improvements. PHP is the most popular programming language that can be used to create websites, apps, etc. Also, it is a general-purpose language that can embedded into HTML.
As you may know, every PHP version is released, and it has many improvements and bug fixes.
Nowadays a new announcement has been published that PHP 8.3 will be coming soon. So you can follow the rest of the article to see the release date, new features, and improvements in newly released PHP.
Introduce Upcoming PHP 8.3 and New Improvements
At this point, we want to discuss PHP 8.3, what’s new in it, when it will come, and its features. For this purpose, follow the steps below.
PHP 8.3 Release Date and End of Life
The PHP team announced PHP 8.3.0 Alpha 1 for testing on 8 June 2023. So this is the start cycle for PHP 8.3. After that, the new Alpha version and beta version were released for testing. Then, the RC versions which is the candidate release were come. At the current time, the latest PHP 8.3 RC was released on 26 OCT 2023.
After the testing versions, the new upcoming PHP 8.3 will be released on 23 NOV 2023. The active support of PHP 8.3 will end in Nov 2025 and it only has the Security Support. The end of life of PHP 8.3 will be on Nov 2026.
Now follow the steps below to see what are the new features and improvements in PHP 8.3.
Features of Upcoming PHP 8.3
The new version of PHP will have many new features. At this point, we take a brief look at them:
- Declare a Type for PHP class constants: PHP 8.3 will have the support for declaring a type for PHP class constants. This ensures type compatibility of the constants when child classes and interface implementation override them.
- Add a new function named jason_validate: The new version of PHP adds a new function named json_validate that returns true or false whether the given string is a valid JSON string.
- Dynamic class constant and Enum member fetch support: It supports fetching class constants and Enum objects with a variable name.
- Additional GC information with gc_status(): This function returns statistics of PHP Garbage Collector, such as whether GC is running, whether GC is protected, and the buffer size. In PHP 8.3 you will get more information with this function.
- New stream_context_set_options function: This function can either accept an array of options to set for one or more contexts or wrappers, or it can accept a single wrapper name, option name, or its value. PHP 8.3 declares a new function stream_context_set_options that supports the second signature.
- Linting feature for Multiple files: In PHP 8.3, it is possible to pass multiple PHP files and PHP CLI lints all of them in the same invocation.
- Class_alias() Support: In PHP 8.3, it is possible to alias internal classes and interfaces.
- Support declaring a fallback value if the Environment variable is not set in PHP 8.3.
- New Random Extension Methods: getBytesFromString, getFloat(), and nextFloat().
Syntax and Functionality Changes in PHP 8.3
In the new version of PHP, some of the syntax and functionality have been changed. At this point, you can see some of them as follows:
- Change highlight_file and highlight_string output HTML: PHP 8.3 wraps the output with an HTML tag. Also, it no longer converts new-line characters to HTML
tags, resulting in a multi-line highlighted HTML output.
- Upgrade E_NOTICE errors to E_WARNING in unserialize() function
- Granular DateTime Exceptions: In PHP 8.3, the Date/Time extension introduces extension-specific and granular Exception and Error classes to better convey the error and exception states. This makes it easier and cleaner to catch date-specific exceptions.
- Class constant type declarations in some PHP extension classes
- Built-in CLI Server $_SERVER[‘SERVER_SOFTWARE’] value changed for RFC3875 compliance
Deprecate Functions in PHP 8.3
At this point, we want to discuss the deprecations in PHP 8.3. As you may know, PHP 8.3 deprecates several function and class methods that support more than one signature.
In PHP 8.3, calling get_class and get_parent_class functions without parameters is deprecated.
At this point, we tried to introduce the new upcoming PHP 8.3 and its new features and improvements. You can stay in touch to get the installation guides and upgrade your PHP version to this new version. Hope you enjoy it.
If you are interested in getting PHP guides in older versions, you can visit the Orcacore website and check for PHP tutorials.
Also, you may like the following guides: