Author: Manuel Lemos
Updated on: 2024-01-23
Posted on: 2024-01-23
Categories: PHP Tutorials, PHP community, News
The original way to access these resources was to use global functions that would take a resource identifier as a parameter.
Starting PHP 8.4, developers will be able to treat resources as objects.
Read this short to learn more about using objects to access external resources so you can prepare to update your PHP code when version 8.4 becomes available.
You do not need to do anything to make your current PHP application code work in PHP 8.4.
In this article you can learn about:
1. What are PHP Resources
2. Why it Your PHP Code Can Have Better Quality When You Access Resources as PHP Class Objects
3. How You Can Get Prepared to Take Advantage of Resource Class Objects When PHP 8.4 Will Be Released
4. When Will PHP 8.4 Is Expected to Be Released
This image above is based on PHP 8 logo design by Vincent Pointier.
1. What are PHP Resources
Resources are PHP variables of a particular type that identify an external resource like, for instance, an opened file, a database connection, or a network connection.
2. Why it Your PHP Code Can Have Better Quality When You Access Resources as PHP Class Objects
To access a resource in general you use PHP global functions like in the example below:
$resource = fopen("some_file.txt", "r");
In PHP 8.4 functions like fopen will return an object according to this RFC (Request For Change) proposal that was accepted by PHP core developers.
This means that you can have additional benefits like for instance being able to benefit of PHP type checking in functions that have type declaration. Before PHP 8.4, resources were not a supported type for type checking.
This way when you make a programming mistake and pass a value to a function that previously expected a resource, in PHP 8.4 you can declare the function to expect an object as parameter.
If you pass a value that is not an object for the resource parameters, PHP can trigger a type declaration programming error exception.
3. How You Can Get Prepared to Take Advantage of Resource Class Objects When PHP 8.4 Will Be Released
You will not need to change your PHP applications code to benefit from this improvement of PHP 8.4.
However, certain functions that deal with resource values will be deprecated to let you know that those functions will be removed in future PHP versions.
When this feature is fully implemented in PHP 8.4, functions like is_resource or get_resource_type will work in PHP 8.4, but they are expected to issue a deprecation warning. It is expected that in the future, the PHP version will be removed because objects will replace resources.
4. When Will PHP 8.4 Is Expected to Be Released
According to the PHP 8.4 plan, PHP 8.4 is expected to be released on November 21, 2024.
You need to be a registered user or login to post a comment
1,616,107 PHP developers registered to the PHP Classes site.
Be One of Us!
Login Immediately with your account on:
Comments:
No comments were submitted yet.