8 nuevas y potentes funciones de desarrollo web en Laravel 8

Laravel es el framework PHP más popular, con más de 1.2 millones de sitios web construidos en él. Desde su lanzamiento en junio de 2011, Laravel ha atraído la atención de muchos desarrolladores web, presentándose como el framework PHP más utilizado.

Laravel ofrece un entorno de desarrollo rápido, seguridad y buenas guías para desarrolladores. Creado y mantenido por su creador Taylor Otwell, Laravel ha seguido mejorando su software. Sigue un esquema de control de versiones semántico y actualmente está en la versión 8.x.

Aquí hay ocho características nuevas a tener en cuenta en Laravel 8.

1. Laravel Jetstream

Esta es la nueva función de andamio de aplicaciones en Laravel . Viene con funciones listas para usar como seguimiento de sesión, inicio de sesión, registro, verificación de correo electrónico, autenticación de dos factores y administración de equipo opcional.

Jetstream ofrece la opción de dos opciones de andamios: Livewire e Inercia.

Livewire es una biblioteca dinámica y receptiva que ofrece la capacidad de evitar el uso de un marco de JavaScript como Vue.js. Utiliza el lenguaje de plantillas Blade predeterminado. Livewire también ofrece la flexibilidad de elegir entre dejar Blade o usar Vue.js.

Inertia usa Vue.js como su lenguaje de plantillas.

Leer más: ¿Qué es Vue.js?

Proporciona todo el poder de Vue.js sin necesidad de enrutamiento del lado del cliente. Si Vue es su lenguaje de plantillas preferido, entonces la pila Inercia es una buena opción.

2. Aplastamiento de la migración

A medida que desarrolle su aplicación, sus migraciones podrían acumularse. Puede "aplastarlos" en un solo archivo SQL para evitar el ruido. Esta opción está disponible para usuarios de MySQL o PostgreSQL.

Laravel creará un archivo de esquema cuando se ejecute el comando schema: dump . Cuando intente migrar su base de datos, Laravel primero migrará el archivo SQL asociado con su esquema. A partir de entonces, si hay migraciones que no formaban parte del esquema, se ejecutarán.

3. CSS de Tailwind

Laravel ahora usa el framework Tailwind CSS como su paginador predeterminado. Tailwind es una biblioteca de utilidad CSS que proporciona clases CSS de un solo uso. Proporciona la ventaja de tener su información de estilo en un solo lugar en lugar de tenerla dispersa. Puede aplicar clases predefinidas directamente a su documento HTML.

Tailwind también ofrece la posibilidad de crear diseños receptivos. Ofrece un primer sistema móvil similar al de Bootstrap. Esto implica que las utilidades sin prefijo responden en todos los tamaños de pantalla, mientras que las utilidades con prefijo entran en vigor en determinados puntos.

Tailwind también cuenta con un modo just-in time habilitado para que sus estilos se generen a pedido en lugar de tener todo renderizado en el momento de la construcción inicial. Esto lo hace más rápido que usar CSS ordinario. Otra ventaja que ofrece es que no necesita deshacerse de sus estilos de producción no utilizados, lo que le brinda la capacidad de usar su código en múltiples entornos.

También es interesante notar que Laravel Jetstream fue construido usando Tailwind.

4. Trabajo por lotes

Puede utilizar esta función para ejecutar un lote de trabajos en un momento determinado y realizar una determinada acción cuando se complete su ejecución. La fachada del autobús proporciona un método por lotes que le permite enviar trabajos.

Puede realizar esto en conjunto con otras devoluciones de llamada de finalización como catch , luego y finalmente para agregar funcionalidad a sus trabajos.

 use AppJobsProcessPodcast;
use AppPodcast;
use IlluminateBusBatch;
use IlluminateSupportFacadesBus;
use Throwable;
$batch = Bus::batch([
new ProcessPodcast(Podcast::find(1)),
new ProcessPodcast(Podcast::find(2)),
new ProcessPodcast(Podcast::find(3)),
new ProcessPodcast(Podcast::find(4)),
new ProcessPodcast(Podcast::find(5)),
])->then(function (Batch $batch) {
// All jobs completed successfully...
})->catch(function (Batch $batch, Throwable $e) {
// First batch job failure detected...
})->finally(function (Batch $batch) {
// The batch has finished executing...
})->dispatch();
return $batch->id;

Para comenzar, debe crear una tabla de migración que contendrá metadatos del trabajo, como las tasas de finalización. Utilice el comando php artisan queue: batches-table para hacer esto. Y luego php artisan migrar para migrarlos. Ahora puede definir sus trabajos por lotes y luego enviarlos cuando esté listo.

5. Clases de fábricas de modelos

Primero, analicemos las fábricas modelo. Estos se utilizan para sembrar sus bases de datos con datos de prueba. Estos datos falsos son importantes para realizar pruebas antes de que se inserte cualquier dato de usuario real.

En Laravel 8, las antiguas clases modelo de Eloquent han sido reemplazadas por completo con fábricas basadas en clases. Con esto, ahora puede administrar los estados de los objetos simplemente usando métodos. Estos métodos suelen llamar al método state () , que se proporciona en la clase de fábrica base de Laravel. El método state () toma como argumento una función que tomará una matriz de atributos asignados a la fábrica.

6. Mantenimiento mejorado

Anteriormente, Laravel presentaba una lista permitida de direcciones IP que podía usar para acceder a la aplicación en modo de mantenimiento. Esto ha sido eliminado y reemplazado por una solución "secreta" más simple. Puede especificar el token de omisión utilizando la opción secreta .

Mientras está en modo de mantenimiento, puede acceder a la URL de su aplicación y Laravel pasará automáticamente la cookie de derivación a su navegador. Una vez que se emite la cookie, accederá a la aplicación normalmente como si no estuviera en modo de mantenimiento.

Sus usuarios pueden enfrentar errores si usa PHP artisan down durante la implementación. Para evitar esto, Laravel ofrece la opción de renderizar una vista en modo de mantenimiento que se devolverá cada vez que se realice una solicitud. Puede pre-renderizar una plantilla usando la opción render en el comando down.

7. Ayudantes de pruebas de tiempo

Laravel ahora incluye la capacidad de permitirle manipular la hora actual. Tiene la opción de utilizar sus atributos de tiempo como milisegundos, horas, días, etc.

 public function testTimeCanBeManipulated()
{
// Travel into the future...
$this->travel(5)->milliseconds();
$this->travel(5)->seconds();
$this->travel(5)->minutes();
$this->travel(5)->hours();
$this->travel(5)->days();
$this->travel(5)->weeks();
$this->travel(5)->years();
// Travel into the past...
$this->travel(-5)->hours();
// Travel to an explicit time...
$this->travelTo(now()->subHours(6));
// Return back to the present time...
$this->travelBack();
}

Estas funciones auxiliares hacen que su trabajo sea ordenado y fácil de seguir al dar nombres descriptivos a los métodos.

8. Limitación de velocidad mejorada

La limitación de velocidad le permite administrar la cantidad de tráfico que recibe en una determinada ruta o grupo de rutas. Esto se puede lograr utilizando el middleware del acelerador . El middleware del acelerador toma el nombre del limitador de velocidad que desea usar en una ruta. Se devuelve un código de solicitud HTTP (429) si la solicitud entrante excede un límite de velocidad determinado.

En Laravel 8, el limitador de frecuencia se ha construido con más flexibilidad sin dejar de tener compatibilidad con versiones anteriores. La función de devolución de llamada del limitador de velocidad le permite crear dinámicamente límites de velocidad adecuados establecidos para usuarios autenticados o solicitudes entrantes.

Tiempos emocionantes por delante para Laravel

Laravel es fácil de aprender y proporciona una elaborada guía para desarrolladores con ejemplos fáciles de seguir. Proporciona correcciones de errores y parches casi semanalmente y lanzamientos importantes anualmente (alrededor de septiembre). Si necesita más ayuda, Laravel proporciona la plataforma Laracasts donde puede obtener ayuda de expertos. Sin embargo, la plataforma ofrece lecciones de desarrollo web pagas.

Para un desarrollador web, Laravel es una habilidad imprescindible. Es de código abierto, de uso gratuito y con una comunidad de más de 40.000 usuarios. Es una tecnología que vale la pena seguir.