El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

PHP avanzado: Herramientas profesionales

Accediendo a otros sitios web con cURL

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
En ocasiones necesitamos conectarnos a algún recurso que se encuentra en otro servidor. Para ello contamos con la herramienta cURL. PHP puede utilizar cURL para conectarse con API's, sitios, y/o servicios.
06:45

Transcripción

Un recurso muy útil con el que contamos en PHP es la posibilidad de utilizar cURL, lo que nos permite conectarnos con diversos recursos, como por ejemplo una API. Entonces, así podríamos construir nuestro propio cliente de dicha API, como por ejemplo Twitter. cURL por si solo es poderoso pero no tan intuitivo. Afortunadamente, podemos contar con herramientas ya hechas, que facilitan la interacción con cURL. Una gran opción para conectarnos con recursos web es la llamada biblioteca 'guzzle'. Instalemos 'guzzle'. Otra opción para instalar bibliotecas, es dejar que Composer la descargue y genere el 'composer.json' directamente. Lo hacemos con 'composer', 'require' y vamos a teclear 'guzzle', http, diagonal, 'guzzle'. Vamos entonces a implementar nuestro minicliente de la API de 'GitHub'. Vamos a nuestro código y al inicio del código, vamos hacer lo siguiente: vamos a incluir nuestra biblioteca con 'require' y vamos a decir que es 'vendor', diagonal, 'autoload.php'. Y vamos a decir que utilice la biblioteca con 'GuzzleHttp', diagonal invertida, 'client'. Ahora mantengamos el cliente sencillo. Vamos al navegador y vamos a abrir en una nueva pestaña y vamos a dirigirnos a api.github.com, diagonal, users. Recuerden, tiene que ser https:// Y damos Enter y listo. Y si observan, es una respuesta con formato JSON, por lo cual deberemos de codificarla, así que hagamos primero la petición. Instanciamos la clase entonces con 'client' igual a 'new guzzlehttp', diagonal invertida, 'client'. Y como esto es nuestro constructor, vamos a pasarle un arreglo con los índices 'base_uri', que va a equivaler a... Vamos a cerrar la barra lateral y vamos a decir que es la URL que habíamos obtenido de aquí. Entonces simplemente la copiamos y la pegamos, y listo. Posteriormente, vamos a hacer la petición a 'get users', entonces esto nada más va a ser el prefijo, le quitamos el 'users' y vamos a hacer la petición con 'response' igual a 'client', 'request', y vamos a decir qué tipo de petición –puede ser 'post', 'get', 'push'–. En este caso, vamos a decir que es 'get' y vamos a decir que queremos el recurso de 'users', mediante el método 'get'. Ahora con la respuesta podemos obtener más detalles de la respuesta, como el código de respuesta, etc., pero también el JSON que responde. Para ello, vamos a necesitar del cuerpo. Vamos entonces a generar 'content' y vamos a decir que 'response', 'get body', y posteriormente vamos a hacer un 'channing' y utilizar 'get content', listo. Vamos entonces a ver el contenido de esta respuesta con 'echo pre' de 'preformatted' y 'var_dump' de 'content', punto y coma. Vamos a iniciar nuestro navegador web con 'php -S localhost 8080'. Y vamos a observarlo en el navegador. Tuve un error de dedo, es 'autoload' –perdón–. Refrescamos, y listo. Está haciendo la petición a la API de 'GitHub' y nos está regresando la respuesta. Vimos cómo es la misma respuesta que vimos previamente en el navegador. Por último, vamos a decodificar esta respuesta porque esto es una cadena, entonces vamos a asignarla a una variable que se va a llamar 'github users' igual a 'json decode', el texto, que en este caso es: 'contents'. Y vamos a pasarle un parámetro adicional que lo va a convertir en arreglo. Vamos a comentar estas dos líneas de código y por último vamos a mostrar los datos en una tabla. Aquí tenemos ya una tabla lista que dice 'nombre' y está vacío, el segundo renglón. Entonces vamos a meter nuestro código aquí, vamos a decir que 'foreach', abrimos el ciclo, cerramos y cerramos el ciclo después del 'tr' con nuestras etiquetas de PHP. Entonces vamos dentro del 'foreach' a decir que nuestro arreglo de 'github users as', vamos a renombrarlo como 'user', y vamos a decir en lugar de 'name' vamos a poner 'echo user'. Y aquí obtuvimos por ejemplo 'login'. Vamos a utilizar 'login', copiamos, pegamos el mismo que abajo y vamos a obtener el avatar. El avatar es 'avatar_url', que es la imagen. Vamos entonces a refrescarlo en nuestro navegador, refrescamos, y listo. Y ya tenemos la lista inicial que nos regresa a la API de 'GitHub'. Pero esto vamos a hacer, por último, algo un poquito más interesante, que es crear una imagen. Su fuente va a ser 'image source' aquí, y cerramos la imagen. Vamos a hacerla un poco más pequeña: 'width', vamos a decir que 250, y listo. Vamos a refrescar y ya nos está mostrando las imágenes de los perfiles de usuario que nos regresa la API de 'GitHub'. Las utilidades para cURL son muchas. Un ejemplo sería un cliente para la API de Twitter, como para monitorear algún "hashtag", o podríamos hacer un "web crawler" para monitorear algún sitio. Podríamos hacer desde clientes hasta "bots". Usen su imaginación

PHP avanzado: Herramientas profesionales

Aprende que PHP va mucho más allá que manejo de formularios y páginas web y puedes usar herramientas que hacen que PHP se convierta en una gran opción para aplicaciones robustas.

1:37 horas (24 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.