Chapitre 43. API de flôts les auteurs d'extensions

Table des matières
Présentation
Eléments de bases
Les flôts qui sont des ressources
Référence des API communes de flôts
Streams Dir API Reference
API des flôts pour les fichiers
Streams Socket API Reference
Streams Structures
Constantes de flôts

Présentation

Les flôts de PHP proposent une approche unifiée à la gestion des fichiers et sockets, depuis une extension PHP. En utilisant l'API standard, les flôts 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 flôts (streams en anglais), sont une API flexible et dynamique, dynamiquement chargée dans les modules (et les scripts!).

Le but des flôts 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 flôts 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 flôts peuvent être converti en pilotes pour fichiers, de manière à être utilisé par des librairies tierce-partie avec beaucoup de facilité. Cela autorise ces librairies à 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 flôt PHP à une autre librairie qui utilise les entrée/sortie standard ANSI!