9.1.1 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!
|