9.1 API de flux : les auteurs d'extensions
9 PHP et le moteur interne Zend
Manuel PHP
->Présentation . Eléments de bases . Les flux qui sont des ressources
|
9.1.1 Présentation
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.
Un paramètre additionnel
context
, accepté par la plupart
des fonctions de flux, est passé à la méthode du gestionnaire
stream_opener
pour affiner le comportement du gestionnaire.
Tous les flux, une fois ouvert, peuvent également avoir n'importe quel nombre
de filtres, traités sur les données lors de la lecture ou de l'écriture sur le flux.
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 .
|
|