2012-06-27 3 views
6

Para mi comprensión de las corrientes en PHP, una corriente es una interfaz que proporciona métodos para
la lectura y la escritura en un recurso y esta interfaz se implementa mediante diferentes
tipos de envolturas de flujos (http, ftp, archivo, etc.) para proporcionar una funcionalidad específica. Entonces, cuando decimos que fopen() abre la secuencia, ¿significa la instanciación de una secuencia específica
objeto contenedor? Sírvanse aclarar si yo estoy equivocado
Graciaslo que es corriente y el flujo de envoltura en php

Respuesta

8

No todas las corrientes se implementan en ese nivel, la mayoría de los muebles empotrados están en el nivel C, así que no, por lo que PHP no se preocupa un objeto streamwrapper. Esa interfaz se asegura de que funcione como como una transmisión, y no al revés. (En esencia: se puede acceder a todos los enrutadores como un recurso de transmisión, pero no todos los recursos de transmisión son proporcionados por las clases de enrutador). Sin embargo, puede anular, por ejemplo, la envoltura file:/// y otras incorporaciones, muy divertidas.

+2

gracias por su respuesta, de hecho, estoy interesado en saber el significado de "abrir la secuencia" cuando decimos algo como fopen (ftp: // ruta). Así que puede darme alguna explicación al respecto – user1227541

+5

A ' Stream 'no es más que una secuencia de datos. 'abrir' ese flujo está obteniendo acceso a esa información: en el caso de 'ftp', es una conexión de red' tcp', en el caso de archivos (locales), está obteniendo un puntero a un descriptor de archivo, por lo tanto, varía según qué tipo estás usando realmente Es difícil definir "apertura" como cualquier otra cosa que no sea "todas las cosas que tienes que hacer antes de comenzar a leer o escribir". – Wrikken

Cuestiones relacionadas