Implementación del método DELETE en PHP para eliminar registros

Clase 16 de 33Curso de PHP Avanzado

Resumen

Implementar correctamente la función de eliminar es fundamental para completar la funcionalidad básica de cualquier aplicación web. Esta acción no solo permite eliminar registros, sino que prepara tu proyecto para enfrentar casos prácticos similares a los que ofrece Laravel, acercándote a un entorno profesional.

¿Por qué es importante habilitar la acción eliminar?

La acción de eliminar es clave, puesto que una aplicación no solo debe permitir crear y leer registros, también necesita opciones claras y efectivas para borrar información. Además, trabajar con esta acción ayuda a afianzar conceptos básicos sobre interacción HTTP, formularios y controladores en PHP.

¿Cómo definir correctamente la ruta para eliminar en PHP?

Para definir la ruta donde haremos la acción eliminar, aplicamos la estructura que ya conocemos, pero especificando el método delete:

$route->delete('/ruta', 'Controlador@metodoEliminar');

Es importante recordar que HTTP únicamente soporta de manera directa los métodos get y post. Por consiguiente, implementamos un campo oculto en el formulario que identifique claramente la acción de eliminar para que internamente nuestro sistema lo reconozca y procese.

¿Cómo configurar el formulario para el método delete?

Debido a las limitaciones del protocolo HTTP, nuestros formularios siempre serán enviados con el método post. Sin embargo, para indicar claramente la acción de eliminar al controlador, agregamos un campo oculto como este:

<input type="hidden" name="_method" value="delete">

Así, logramos orientar nuestro sistema internamente hacia la acción correcta.

¿Qué hacer si aparece el error "método no existe" en nuestro controlador?

Si al probar nuestra función de eliminar aparece un mensaje indicando que el método no existe en el controlador, verificamos que dicho método esté claramente definido en nuestro controlador. Esto es crucial; así nuestro código podrá ejecutarse correctamente.

Un ejemplo básico en PHP sería:

public function eliminar($id = null){
  // Conexión a la base de datos y eliminación
  $this->conexion->query("DELETE FROM tabla WHERE id=$id");
  // Redireccionamiento tras eliminar
  header('Location: /pagina-principal');
}

¿Qué resultados esperar tras implementar eliminar correctamente?

Al implementar esta funcionalidad adecuadamente, el resultado final será claro:

  • El sistema permitirá eliminar registros de manera sencilla.
  • Verás inmediatamente reflejado en tu interfaz web el cambio en la cantidad de registros.
  • El comportamiento del sistema será mucho más similar al de frameworks profesionales como Laravel.

Este proceso te proporciona una excelente base práctica para comprender mejor cómo funcionan las aplicaciones profesionales modernas en entornos reales. No olvides practicar conscientemente estas acciones para fortalecer tus habilidades.