API de flux les auteurs d’extensions

Les flux de PHP proposent une approche unifiée à la gestion des fichiers et sockets, depuis une extension PHP. En utilisant l’API standard, les flux vous permettent d’accéder à des fichiers, des sockets, des URL, de la mémoire ou encore des objets définis dans des scripts. Les flux (streams en anglais), sont une API flexible et dynamique, dynamiquement chargée dans les modules (et les scripts!).

Le but des flux est de proposer une API confortables pour les programmeurs, lors des manipulations de fichiers, URL et autres sources de données linéaires. L’API unifiée est très simple à comprendre : elle est plus ou moins basée sur la famille de fonction classiques C d’entrée/sortie (avec les mêmes concepts pour la plupart des fonctions) : les programmeurs C ne seront pas dépaysés.

L’API des flux intervient à différents niveaux : à la base, elle définit un objet php_stream, qui représente les sources de données. A un niveau au-dessus, l’API défini un objet php_stream_wrapper qui s’interface avec l’API de bas niveau, pour lire et écrire les données et méta données, dans les sources.

Les flux peuvent être converti en pilotes pour fichiers, de manière à être utilisé par des bibliothèques tierce-partie avec beaucoup de facilité. Cela autorise ces bibliothèques à accéder aux données directement depuis des sources représentées par des URL. Si votre système supporte la fonction fopencookie(), vous pouvez même passer n’importe quel flux PHP à une autre bibliothèque qui utilise les entrée/sortie standard ANSI!

Note : Les fonctions de ce chapitres sont destinées à être utilisée dans le code source PHP et non pas dans les fonctions PHP. Les fonctions de flux, accessibles depuis un script, sont dans la section Flux.

No votes yet.
Please wait...