Crear funciones en PHP que consuman APIs externas puede tomar varios minutos de escritura manual, pero con GitHub Copilot ese proceso se reduce a escribir un comentario en lenguaje natural y aceptar la sugerencia generada. A continuación se detalla paso a paso cómo construir, probar y mejorar un script completo usando únicamente prompts dentro del editor.
¿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 [0:12]:
- "Escribe una función que se conecte a una API online y devuelva el resultado de la consulta en un array asociativo."
Al presionar Enter, GitHub Copilot ofrece una sugerencia de código completa. Al aceptarla con Tab, aparece una función llamada getApi que:
- Recibe una URL por parámetro.
- Lee el contenido de esa URL.
- Decodifica la respuesta JSON con
json_decode.
- Retorna el resultado como un array asociativo.
Un array asociativo en PHP es una estructura donde cada valor está ligado a una llave con nombre, en lugar de un índice numérico. Esto facilita acceder a los datos por su significado semántico.
Para probar la función, basta con escribir getApi( y la herramienta incluso sugiere una API de prueba. El resultado se almacena en una variable $result y se muestra con print_r [1:30]. Al abrir el navegador en el localhost, la salida confirma que la función devuelve correctamente el array asociativo con la información de la API.
¿Cómo mostrar los datos de la API en una tabla HTML?
El siguiente paso mejora la presentación visual. Se escribe un segundo prompt [2:30]:
- "Crea una función para mostrar el array asociativo de
getApi en una tabla HTML. La tabla tendrá una fila con los nombres de las columnas y una fila por cada elemento del array."
GitHub Copilot genera la función showTable, que recorre el array y construye una tabla HTML dinámica. Para implementarla se reemplaza el print_r anterior por la llamada a showTable($result) [3:15]. Al recargar el navegador, los datos aparecen organizados en filas y columnas con formato de tabla.
¿Qué ocurre al transformar valores numéricos dentro del resultado?
Un tercer prompt demuestra cómo manipular la información antes de mostrarla [3:50]:
- "Crea una función que procese el resultado de
getApi y, si detecta valores numéricos, los reemplace por el texto 'Es numérico'."
La función sugerida, replaceNum, utiliza foreach anidados para recorrer cada nivel del array asociativo. Dentro del bucle aplica is_numeric() para detectar valores numéricos y sustituirlos por la cadena indicada [4:10].
La implementación combina ambas funciones de forma encadenada:
php
$result = getApi('https://jsonplaceholder.typicode.com/posts');
showTable(replaceNum($result));
Al recargar la página, las columnas userId e ID, que antes mostraban números, ahora despliegan el texto "Es numérico". Esto confirma que las tres funciones trabajan correctamente en conjunto.
¿Por qué es importante validar el código que genera GitHub Copilot?
A lo largo del ejercicio se evidencian varias capacidades de la herramienta:
- Autocompletado contextual: sugiere no solo código, sino también URLs de prueba y formas de implementación.
- Encadenamiento de funciones: detecta relaciones entre funciones existentes y propone cómo combinarlas.
- Velocidad de desarrollo: tres funciones funcionales creadas en minutos con descripciones en lenguaje natural.
Sin embargo, cada sugerencia debe ser revisada con criterio profesional. GitHub Copilot genera código basado en patrones, y no siempre la primera sugerencia cumplirá con los requisitos específicos de un proyecto. Validar la lógica, la seguridad y el rendimiento sigue siendo responsabilidad del desarrollador.
Prueba replicar este mismo ejercicio con otro lenguaje de programación y comparte tus resultados. La práctica con diferentes lenguajes permite entender cómo varían las sugerencias y qué tan adaptable es la herramienta a distintos contextos.