Blade y Laravel: ciclos, condicionales, token CSRF y componentes

Ya vimos cómo funcionan las vistas en Laravel y ahora sabemos que utilizan Blade.

Blade tiene muchas directivas que permiten hacer ciclos, mostrar cosas usando if o switch, generar el input para el token CSRF y muchas cosas más.

También nos permite definir componentes para más tarde usarlos en otras vistas superiores, e incluso incluir vistas en otras vistas.

Antes que nada, dejo el enlace a la documentación oficial.

(más…)

Organización de vistas en Laravel

Tutorial de vistas con Blade en Laravel

En este post voy a dar una introducción a cómo renderizar y mostrar vistas en el framework de Laravel. Será con la versión 5.8 pero aplica a casi todas las versiones actuales.

Lo que veremos será:

  • Cómo crear vistas
  • Ubicación de las vistas
  • Pasar datos a las vistas
  • Definir layouts o plantillas base
  • Fomentar la reutilización de plantillas

Recuerda que ya vimos:

Cómo comenzar un proyecto de Laravel

Actualizar Laravel a versión 5.8

Rutas en Laravel

Rutas en Laravel parte 2

Comencemos.

(más…)

Throttle en Laravel

Rutas en Laravel parte 2: prefijos, fallback, límite de tasa y formularios

Continuación de la explicación de las rutas en Laravel 5.7

Ya vimos la introducción a las rutas en Laravel, en donde exponemos las cosas más importantes y comunes. Este post es la continuación del anterior, y ahora vamos a ver:

  • Prefijos en las rutas para agruparlas
  • Ruta de fallback cuando no se encuentra alguna ruta que coincida con la petición, algo así como manejar un error 404
  • Límite de tasa para limitar las peticiones, usando el middleware de throttle
  • Generación de los verbos HTTP dentro de formularios, por ejemplo PUT, DELETE o esas cosas

Son cosas un poco más avanzadas pero nada imposible de entender.

(más…)

Anatomía de un mensaje de log en Laravel 5.7

Laravel: Loguear errores y mensajes a archivo de log con Monolog

Aprendiendo a loguear errores y mensajes con Laravel 5.7

Hoy vamos a ver una cosa imprescindible en toda aplicación web: el logueo de mensajes o errores dentro de un log.

Laravel, el framework más poderoso de PHP (según yo), viene con el logueo de errores configurado por defecto y permite loguear errores de cualquier tipo en pocas líneas gracias a Monolog.

Anatomía de un mensaje de log en Laravel 5.7

Anatomía de un mensaje de log en Laravel 5.7

Por cierto, si no quieres loguear con Laravel y quieres usar el lenguaje puro, mira este post: Loguear mensajes de error y debug a archivos con PHP.

(más…)

(429) Too Many Requests Laravel – Solución y explicación

Introducción

Cuando estamos consumiendo una api creada con Laravel, puede que nos aparezca el error que dice “(429) Too Many Requests“. Aquí explicaré por qué pasa y qué solución tenemos para ello.

Básicamente esto aparece porque estamos haciendo muchas peticiones en un corto periodo de tiempo; por ejemplo, hacer 100 peticiones en menos de un minuto.

Es una forma que tiene Laravel para protegernos. Ya que de esta forma bloqueamos el acceso a un usuario malicioso que haga miles de peticiones para que nuestro servidor caiga. Si pasa el límite, sólo se le responderá con el código http 429.

(más…)

Obtener datos de php://input en PHP usando Laravel

En ocasiones necesitamos acceder a los datos que hay en el stream php://input para leer datos raw.

Laravel proporciona un mecanismo fácil para hacer esto. Lo único que tenemos que hacer es inyectar el servicio Request en nuestro controlador.
Hay que recordar que Laravel siempre pondrá los datos de la solicitud dentro de los parámetros de nuestras funciones.

(más…)

Cambiar zona horaria o timezone en Laravel 5.4

Cambiar la zona horaria en nuestro servidor es de suma importancia, sobre todo si queremos trabajar con fechas. Por defecto, PHP (y los frameworks que trabajen sobre el lenguaje) viene con una zona horaria preconfigurada; zona que no siempre nos servirá. Por ejemplo, si somos de México, la fecha y hora estarán mal configuradas, y al querer trabajar con ellas, obtendremos datos que, si bien son correctos, no están ajustados para el tiempo de nuestro país o lugar de origen.

(más…)