PHP 8.5.3 Released!

Les ressources

Une resource est une variable spéciale, contenant une référence vers une ressource externe. Les ressources sont créées et utilisées par des fonctions spéciales. Voir l'appendice pour une liste de toutes ces fonctions ainsi que les types de resource correspondants.

Voir aussi la fonction get_resource_type().

Conversion en ressource

Sachant qu'une resource représente un fichier ouvert, une connexion à une base de données, une image, etc., la conversion en une ressource n'a pas de sens.

Libération des ressources

Grâce au système de compteur de référence qui fait partie du Zend Engine, une resource qui n'a plus aucune référence est détectée automatiquement et est libérée par le ramasse-miettes. Pour cette raison, il est rarement nécessaire de libérer la mémoire manuellement.

Note: Les connexions persistantes aux bases de données sont des exceptions à cette règle. Elles ne sont pas détruites par le ramasse-miettes. Voir la section sur les connexions persistantes pour plus d'informations.

add a note

User Contributed Notes 1 note

up
0
mrmhmdalmalki at gmail dot com
1 day ago
The resource is not a type you can create; it is a PHP internal type that PHP uses to refer to some variables.

For example, 

You have a number 5.5, which is a Float, and you can convert it to an int type, but you cannot convert it to a resource.

A resource type is used for external resources, like files or database connections, as shown below:

<?php

// a normal variable
$file_resource = fopen("normal_file.txt", "r");

// after we assigned an external file to that variable using the function fopen,
// PHP starts dealing with the file, and since it is an external resource,
// PHP makes the type of the variable a resource that refers to that operation

var_dump($file_resource);

// the previous var_dump returned bool(false),
// because there was no file that PHP could open.
// and it gave me this warning:
// PHP Warning: fopen(normal_file.txt): Failed to open stream: No such file or directory

// now I am trying to open an existing file
$file_resource = fopen("existed_file.txt", "r");

// then check the type:
var_dump($file_resource);

// it gives this:
// resource(5) of type (stream)
// now the variable's type is resource

?>
To Top