Implementación de rutas GET y POST en PHP con clases

Clase 15 de 33Curso de PHP Avanzado

Resumen

La gestión eficiente de rutas en PHP es esencial para desarrollar aplicaciones web robustas. Implementar métodos como GET y POST permite estructurar claramente las peticiones del usuario, mejorando la escalabilidad y mantenimiento del sistema.

¿Qué es una clase de rutas y para qué sirve?

Una clase de rutas en PHP se encarga de gestionar las diferentes URL que recibe una aplicación y responde adecuadamente según el método HTTP utilizado. En este contexto, se definen rutas específicas a la par de acciones concretas, como llamar a un controlador particular y ejecutar su método correspondiente.

Funciones esenciales de una clase de rutas:

  • Definir rutas asociadas a un método HTTP (GET o POST).
  • Almacenar rutas y sus acciones en forma de arreglos.
  • Ejecutar acciones según la ruta solicitada y el método recibido.

¿Cómo se implementan rutas con los métodos GET y POST en PHP?

Para implementar rutas se utiliza una lógica sencilla:

¿Cómo crear rutas con el método GET?

El método GET captura y registra las rutas a las que un usuario intenta acceder para obtener información o visualizar contenido.

public function get($uri, $accion) {
    $this->rutas["GET"][$uri] = $accion;
}

¿De qué manera implementamos el método POST?

Por otra parte, el método POST se usa cuando un usuario envía información desde un formulario hacia el servidor, habitualmente para crear o modificar un recurso.

public function post($uri, $accion) {
    $this->rutas["POST"][$uri] = $accion;
}

El procedimiento incluye almacenar tanto la URL solicitada como la acción definida por el controlador y su método asociado.

¿Qué sucede cuando se solicita una ruta que no está definida?

Cuando la aplicación recibe la petición de una ruta que no está registrada, se ejecuta una validación simple que muestra al usuario un mensaje indicando que la ruta no fue encontrada.

¿Cómo ejecutar dinámicamente la acción correspondiente?

Una vez obtenida la ruta y el método adecuado, se ejecuta dinámicamente el controlador con el siguiente ejemplo:

$controller = new $controlador();
$controller->$metodo();

Esto permite ejecutar la acción apropiada según la ruta gestionada.

¿Cómo depurar y visualizar las rutas disponibles?

PHP ofrece mecanismos simples de depuración que permiten visualizar todas las rutas registradas fácilmente:

echo '<pre>';
var_dump($this->rutas);
echo '</pre>';
exit();

Esto muestra claramente la estructura definida previamente, ordenada por método HTTP y ruta.

¿Qué beneficios tiene estructurar las rutas al estilo de Laravel?

La estructura explicada sigue un estilo similar al framework Laravel, lo que facilita la comprensión de cómo se manejan las rutas en proyectos profesionales:

  • Estructura clara y fácil de mantener.
  • Mayor eficiencia en la gestión de peticiones.
  • Desarrollo alineado con estándares usados en la industria.

Te animamos a explorar en detalle cada sección del código para fortalecer tu comprensión y aprovechar al máximo esta funcionalidad en tus proyectos PHP.