Crear funciones en PHP que consuman APIs externas, procesen datos y los muestren con formato puede tomar varios minutos de escritura manual. Con GitHub Copilot integrado en el editor, ese flujo se reduce a escribir instrucciones en lenguaje natural y aceptar las sugerencias que la herramienta genera automáticamente. A continuación se explica paso a paso cómo lograrlo, tal como se demuestra en la práctica.
¿Cómo crear una función PHP que consuma una API con GitHub Copilot?
El punto de partida es un archivo con extensión .php. Dentro de él se escribe un comentario con doble slash (//) describiendo lo que se necesita: "Escribe una función que se conecte a una API online y devuelva el resultado de la consulta en un array asociativo" [0:18]. GitHub Copilot interpreta ese prompt y ofrece una sugerencia de código completa.
Al presionar Tab, el código sugerido se inserta de inmediato. La función generada se llama getApi, recibe una URL como parámetro, lee su contenido y lo decodifica con json_decode para retornar un array asociativo [0:48]. Este patrón es muy común en PHP cuando se trabaja con APIs REST.
¿Qué sucede al probar la función en el navegador?
Para verificar que todo funciona, basta con llamar a getApi() pasándole una URL. Copilot incluso sugiere una API de prueba válida, como la de JSONPlaceholder [1:08]. El resultado se almacena en una variable $result y se imprime con print_r, función que muestra el contenido de un array de forma legible.
Al cargar la página en el localhost, el navegador devuelve efectivamente un array asociativo con posiciones, llaves y valores provenientes de la API [1:52]. La función generada por Copilot funcionó sin ninguna modificación manual.
¿Cómo mostrar los datos en una tabla HTML?
El segundo prompt solicita una función que tome el resultado de getApi y lo presente dentro de una tabla HTML, con una fila de encabezados y una fila por cada elemento del array [2:28]. Copilot genera la función showTable, que construye dinámicamente las etiquetas <table>, <tr> y <td>.
Se reemplaza el print_r anterior por la llamada a showTable($result). Al recargar el navegador, los datos aparecen organizados en columnas con formato tabular [3:08]. Todo el proceso, desde el prompt hasta la implementación, se resuelve aceptando sugerencias con Tab.
¿Cómo procesar y modificar valores del array con un tercer prompt?
El tercer paso añade lógica de transformación de datos. El prompt pide crear una función que recorra el resultado de getApi y, cuando detecte valores numéricos, los reemplace por el texto "Es numérico" [3:30].
Copilot responde con una función llamada replaceNum que utiliza foreach anidados para recorrer cada nivel del array asociativo. Dentro del bucle, aplica la función nativa is_numeric() de PHP para identificar los valores que son números [3:52]. Cuando la condición se cumple, sustituye el valor original por la cadena indicada.
La implementación combina ambas funciones: primero se procesan los datos con replaceNum y luego se pasan a showTable para visualizarlos. Copilot detecta automáticamente esta cadena de dependencias y sugiere la llamada correcta [4:10].
¿Cuál es el resultado final en el navegador?
Al recargar la página, las columnas User ID e ID, que antes mostraban números, ahora muestran el texto "Es numérico" [4:30]. Las columnas de título y cuerpo conservan su contenido original. El comportamiento confirma que las tres funciones trabajan correctamente en conjunto.
¿Por qué es importante validar el código generado por Copilot?
A lo largo de la práctica se demuestra que GitHub Copilot puede generar código funcional con rapidez, pero cada sugerencia debe ser revisada. La herramienta interpreta prompts en lenguaje natural y produce respuestas basadas en patrones, lo que no garantiza que el código cumpla con requisitos específicos de seguridad, rendimiento o arquitectura de un proyecto real [4:55].
Algunos puntos para tener en cuenta al trabajar con esta herramienta:
- Revisar la lógica generada antes de aceptar cada sugerencia.
- Verificar que las funciones nativas utilizadas (
file_get_contents, json_decode, is_numeric) sean las adecuadas para el contexto.
- Probar el resultado en un entorno controlado, como un localhost, antes de llevarlo a producción.
- Experimentar con otros lenguajes de programación para comparar la calidad de las sugerencias.
Si ya probaste este flujo con PHP, intenta replicarlo en Python, JavaScript u otro lenguaje y comparte tus resultados en los comentarios.