the - Corriente de contexto en PHP-¿qué es?
mostrar id post wordpress (3)
He buscado durante horas y no puedo entender qué es un ''contexto de flujo'' en PHP. Estoy tratando de usar una API e implica el uso de este ''contexto de flujo''.
La documentación dice:
Un contexto es un conjunto de parámetros y opciones específicas de envoltura que modifican o mejoran el comportamiento de un flujo.
- ¿Un parámetro de qué?
- ¿Qué se entiende por una opción que sea ''específica para un envoltorio''?
- Que corriente
Aquí está el código del que estoy hablando:
// Encode the credentials and create the stream context.
$auth = base64_encode("$acctKey:$acctKey");
$data = array(
''http'' => array(
''request_fulluri'' => true,
// ignore_errors can help debug – remove for production. This option added in PHP 5.2.10
''ignore_errors'' => true,
''header'' => "Authorization: Basic $auth")
);
$context = stream_context_create($data);
// Get the response from Bing.
$response = file_get_contents($requestUri, 0, $context);
Un parámetro del contexto que modifica las propiedades del flujo.
Las opciones son específicas para cualquier envoltorio que esté usando la transmisión. Ejemplos de estos incluyen archivos, todos los diferentes
php://
URIs, el contenedor HTTP (como cuando hacesfile_get_contents(''http://example.com'')
- no es lo mismo quefile_get_contents(''some-file.txt'')
)Cualquier corriente
En este caso, el contexto del flujo se pasa a file_get_contents
para decirle que envíe ese encabezado de autorización y esas opciones al contenedor que permite a file_get_contents
obtener contenido de las URL de HTTP.
Puede encontrar una lista de las opciones de contexto HTTP en el sitio web de PHP .
http, request_fulluri, ignore_errors, header son todos los parámetros. Cambian la forma en que funciona la función (file_get_contents en este caso).
Una opción que es específica para un envoltorio es algo como ''http'': no lo utilizarías en una secuencia de archivos del sistema de archivos ya que no es aplicable.
El flujo es la transferencia de datos en sí misma que se produce cuando file_get_contents abre la conexión, transfiere todo, etc.
Me tomó un tiempo entender las opciones de los contextos de flujo y los envoltorios de PHP. Escribí un artículo sobre lo que me ayudó finalmente a envolver mi cerebro en torno a cómo entender las opciones y los envoltorios de los contextos de flujo de PHP . Espero que ayude.
Para manejar adecuadamente lo que viene por la línea (datos transmitidos), necesitará el código apropiado para manejar los diferentes tipos de elementos que se pasan (tipos de datos). Las herramientas para manejar cada tipo diferente de tipo de datos son los "parámetros".
El "contexto" está determinado por lo que se está transmitiendo (transmitido). Por lo tanto, para diferentes "contextos" (tipos de elementos) que se "transmiten" (transmitidos) los "parámetros" (herramientas necesarias para el manejo) el "tipo de datos" (tipo de elemento) cambiará.
El término contexto simplemente hace referencia al hecho de que para diferentes tipos de datos, la situación es única con sus propios parámetros requeridos.
El contenedor de flujo de PHP requeriría un contexto para saber qué parámetros son necesarios para manejar el tipo de datos.