Capítulo 63. API de Secuencia para Autores de Extensiones PHP

Tabla de contenidos
Generalidades
Conceptos Básicos de Secuencias
Las Secuencias como Recursos

Generalidades

La API de Secuencias de PHP introduce un enfoque unificado a la gestión de archivos y sockets en extensiones PHP. Usando una API única con funciones estándar para operaciones comunes, la API de secuencias le permite a su extensión acceder a archivos, sockets, URLs, memoria y objetos definidos por-script. Esta es una API extensible de tiempo de ejecución que permite la carga dinámica de módulos (¡y scripts!) para registrar nuevas secuencias.

El propósito de la API de secuencias es facilitar la apertura de archivos, URLs y otras fuentes de datos secuenciables a los desarrolladores, mediante una API unificada que es fácil de entender. La API se encuentra más o menos basada en la familia de funciones ANSI C stdio (con una semántica idéntica para la mayoría de sus funciones principales), así que los progamadores de C tendrán una sensación de familiaridad con las secuencias.

La API de secuencias opera en un par de niveles diferentes: al nivel base, la API define objetos php_stream para representar fuentes de datos secuenciables. En un nivel ligeramente más alto, la API define objetos php_stream_wrapper que "envuelven" la API de nivel más bajo para proveer soporte para la recuperación de datos y meta-datos desde URLs. Un parámetro de contexto adicional, aceptado por la mayoría de funciones de creación de secuencia, es pasado al método stream_opener de la envoltura para configurar en detalle el comportamiento de la misma.

Cualquier secuencia, una vez abierta, puede tener también cualquier número de filtros aplicados sobre ella, los cuales procesan datos en la medida en que éstos son leídos desde/escritos hacia la secuencia.

Las secuencias pueden ser moldeadas (convertidas) a otros tipos de gestores de archivo, de modo que puedan ser usadas con bibliotecas externas sin mucho problema. Esto permite que aquellas bibliotecas accedan a datos directamente desde fuentes tipo URL. Si su sistema tiene la función fopencookie() o funopen(), ¡puede pasar incluso cualquier secuencia PHP a cualquier biblioteca que use stdio ANSI!

Nota: Las funciones en este capítulo son para su uso en el código fuente de PHP y no son funciones de PHP. Las funciones de secuencias para usuarios pueden encontrarse en la Referencia de Secuencias.

Hosting by: hurra.com
Generated: 2007-01-26 18:01:10