In this article, we will see PHP 8.3 release date and upcoming new features. PHP is a popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
PHP 8 is released on November 26, 2022, and PHP 8.2 is released on December 08, 2022. PHP 8.2 is a major update of the PHP language. In this many new features include and deprecated functions and properties.
Now, we will see PHP 8.3 release date, and PHP 8.3 new features.
For instance, this page lists all the accepted RFCs for PHP 8.3.
Table of contents
- When will PHP 8.3 be released?
- PHP 8.3 changes and new features
- json_validate()
- Improved unserialize() error handling
As per the PHP 8.3 preparation chart, PHP 8.3 will be released on November 23, 2023.
Date | Release |
---|---|
Jun 08 2023 | Alpha 1 |
Jun 22 2023 | Alpha 2 |
Jul 06 2023 | Alpha 3 |
Jul 18 2023 | Feature freeze |
Jul 20 2023 | Beta 1 |
Aug 03 2023 | Beta 2 |
Aug 17 2023 | Beta 3 |
Aug 31 2023 | RC 1 |
Sep 14 2023 | RC 2 |
Sep 28 2023 | RC 3 |
Oct 12 2023 | RC 4 |
Oct 26 2023 | RC 5 |
Nov 09 2023 | RC 6 |
Nov 23 2023 | GA |
json_validate()
This RFC introduces a new function called json_validate() to validate if a string contains a valid JSON.
Instead of using json_decode()
function to validate a JSON string. Now, you can use json_validate()
. According to its RFC.
Returns true if the string passed contains a valid JSON, otherwise returns false.
json_validate('{ "foo": "bar", }');
// Syntax error
echo json_last_error_msg();
Read More: PHP RFC: json_validate
PHP's current error reporting in unserialize()
is very inconsistent, making it hard to reliably handle errors that occur during unserialization. In PHP 8.3 new \UnserializationFailedException
will be added. Also, improve error handling.
Let's see an example:
try {
set_error_handler(static function ($severity, $message, $file, $line) {
throw new \ErrorException($message, 0, $severity, $file, $line);
});
$result = unserialize($serialized);
} catch (\Throwable $e) {
// Unserialization failed. Catch block optional if the error should not be handled.
} finally {
restore_error_handler();
}
In PHP 8.3, the error are handled is like the below code example.
try {
$result = unserialize($serialized);
var_dump($result); // Do something with the $result. Can appear in the 'try' right
// beside the unserialize(), because the 'catch' block is specific
// to unserialization and will not catch anything unrelated.
} catch (\UnserializationFailureException $e) {
// unserialization failed.
}
Read More: PHP RFC: Improve unserialize() error handling
You might also like:
- Read Also: CRUD Operation In PHP
- Read Also: Laravel 9 CRUD Operation Example
- Read Also: Laravel 10: New Features And Release Date
- Read Also: How to Download File on the FTP Server Using PHP