Laravel tips: 5 errores comunes que debes evitar


Guadalupe

31 Jan 2023

¿Estás llevando cursos de Laravel? ¿Quieres convertirte en un desarrollador web? ¡Entonces, esta información es para ti! Los errores y las excepciones son partes integrales del desarrollo de software. Laravel es un framework hermoso, pero es posible que encuentres algunos problemas en el soporte de reporte de errores en el entorno de desarrollo.

En el artículo de hoy, te explicaremos los errores más comunes o errores causados por excepciones que los desarrolladores menos experimentados cometen mientras trabajan en Laravel. ¡Sigue leyendo para descubrir estos tips de Laravel!

#1 MethodNotAllowedHttpException

method not allowed http exception

Esta es la excepción más frecuente, ya que dice "Method is not allowed" pero ¿dónde? Simplemente dirígete a web.php o api.php donde has escrito las rutas y comprueba si alguna ruta o url está utilizando algún otro tipo de método http en lugar del método previsto.

Por ejemplo, si tu ruta está utilizando POST como método, pero lo estás llamando como GET. Como Laravel se preocupa demasiado por la seguridad, no permitirá que la ruta POST sea llamada como ruta GET de ahí que se produzca esta excepción.

Te puede interesar: Aprende cómo optimizar imágenes en Laravel

#2 Error 419 o página expirada

De nuevo, esta excepción se basa en la seguridad incorporada de la aplicación. El error 419 o página expirada se produce cuando no incluimos CSRF_TOKEN en el cuerpo del formulario html, ya que los formularios suelen ser la vía para POST datos a otro fichero o controlador.

Excluir rutas de la protección CSRF

A veces puede haber situaciones en las que queramos permitir algunas rutas sin CSRF_TOKEN, simplemente podemos añadir esas url o rutas en el array except del middleware VerifyCsrfToken de la siguiente forma:

<?php

namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;

class VerifyCsrfToken extends Middleware
{
	/**
	* The URIs that should be excluded from CSRF verification.
	*
	* @var array
	*/
	protected $except = [
		"stripe/*",
		"http://example.com/foo/bar",
		"http://example.com/foo/*",
	];
}

#3 Permiso de archivo para storage

permiso archivo storage

En el entorno de desarrollo, Laravel genera muchos mensajes de registro de errores en el directorio de almacenamiento como archivos. Estos archivos de registro se nombran según la fecha de los mensajes de registro, como 2019-08-15.log.

Entonces, para escribir en esos archivos de registro en distribuciones de Linux como Ubuntu, necesitamos dar al usuario root (Super Admin) permisos de acceso al directorio storage, por ejemplo así:

sudo chmod -R 776 /storage

Del mismo modo, para el directorio bootstrap a menudo obtenemos errores como este. Por tanto, la mejor práctica es dar a ambos directorios acceso de escritura. Es decir, usar el mismo comando:

sudo chmod -R 776 /bootstrap /storage

#4 ReflectionException o la clase no existe

Como sugiere este encabezado, esta excepción ocurre cuando hacemos referencia a cualquier clase pero ese archivo de clase no está presente en la ubicación de directorio esperada. Por ejemplo, en el script web.php, definimos una ruta y la mapeamos a un Controlador específico y a la función de manejo respectiva.

Si esa clase de controlador en particular no está presente en el directorio esperado, esto podría significar que la ruta del archivo de clase puede ser incorrecta o la función del controlador aún no se ha creado. Lo mismo se aplica a Modelos, Eventos, ServiceProviders, etc.

Te puede interesar: ¿Por qué usar Laravel en 2023? 4 ventajas que debes conocer

#5 Error 500

El error 500 es uno de los que más asustan incluso a un desarrollador web experimentado. Para depurar este error, te recomendamos comprobar primero si el servidor web está funcionando en buenas condiciones. Después, es mejor que compruebes si el código fuente del sitio está funcionando de forma correcta.

Muchas veces, los desarrolladores menos experimentados cometen errores como por ejemplo redirigir a la misma página a una función específica del controlador, haciendo que el servidor se sobrecargue y no pueda atender más peticiones.

Si algo va mal en el servidor, el código de estado HTTP siempre será 500 aunque la causa raíz varíe. Intenta escribir un buen código utilizando, por ejemplo, bloques try-catch. De esta manera, puedes evitar obtener el estado de error HTTP 500 sin buenas pistas de lo que lo causó.

En cualquier caso, deberías intentar habilitar el registro de errores de PHP haciendo que los errores de ejecución de PHP se muestren en un archivo de registro de errores. Puedes lograr esto cambiando tu archivo de configuración php.ini en el entorno de desarrollo PHP usando valores como estos:

error_reporting        = E_ALL
display_errors         = Off
display_startup_errors = Off
log_errors             = On
log_errors_max_len     = 0
ignore_repeated_errors = On
ignore_repeated_source = Off
report_memleaks        = On
track_errors           = On
html_errors            = Off
error_log = "/tmp/php_error_log";

Estos fueron los errores más comunes cuando se están desarrollando aplicaciones PHP con el framework Laravel o incluso otros marcos o métodos. ¡Esperamos que estos Laravel tips te sean de utilidad!

¿Te gustaría aprender a programar? En Coders Free contamos con diversos cursos online con todos los niveles de programación, así como servicios de diseño gráfico para hacer crecer tu negocio. ¡Contáctanos para obtener más información!


0 comentarios

Inicia sesión para comentar