Laravel 8

Laravel 8

O Laravel 8 foi lançado e inclui muitos novos recursos, incluindo o Laravel Jetstream, um diretório exclusivo para models (modelos), classes de fábrica de modelos, squashing de migração, melhorias nas limitações de quotas (rate-limit), helplers para testes de datas e time, componentes dinâmicos de blade e muitos outros recursos.

Antes de continuarmos o artigo com o novos recursos da versão 8, lembre-se que a partir da versão 6, o Laravel segue o semver (Semantic Version) e lança uma nova versão principal a cada seis meses.

Laravel Jetstream

O Laravel Jetstream é um scafolding de aplicativo projetado com uma interface moderna para o Laravel.

Jetstream fornece o ponto de partida perfeito para seu próximo aplicativo Laravel e inclui login, registro de usuários, verificação de e-mail, autenticação de dois fatores (two-factors authentication), gerenciamento de sessão, suporte de API via Laravel Sanctum e gerenciamento opcional de equipes.

O Jetstream é projetado usando Tailwind CSS e oferece a sua escolha de esqueletos para Livewire ou Inertia.

Diretório de Modelos

O esqueleto do aplicativo Laravel 8 agora inclui um diretório específico para modelos em app/Models.

Todos os comandos do gerador – php artisan make, assumem que os modelos existem em app/Models; no entanto, se esse diretório não existir, a estrutura assumirá que o aplicativo mantém os modelos dentro da pasta raiz app/.

Classes de fábrica de modelos

As fábricas de modelos do Eloquent agora são baseadas em classes a partir do Laravel 8, com suporte aprimorado para relacionamentos entre fábricas, como por exemplo: um usuário tem muitos posts.

Migration Squashing

Se seu aplicativo contém muitos arquivos de migração, agora você pode comprimi-los em um único arquivo SQL.

Este arquivo será executado primeiro ao executar migrações, seguido por quaisquer arquivos de migração restantes que não façam parte do arquivo de esquema comprimido.

Eliminar as migrações existentes minimiza o problema de “inchaço” do arquivo de migração e possivelmente melhorar o desempenho durante a execução de testes.

Rate limiting aprimorado

O Laravel 8 traz melhorias para a funcionalidade de limitação de cotas existente, ao mesmo tempo que oferece compatibilidade com versões anteriores do middleware de throttle existente e oferece mais flexibilidade.

O Laravel 8 tem o conceito de Rate Limiters (Limitadores de Cota) que você pode definir através de um facade.

Helpers de teste para “tempo” (time)

Os desenvolvedores já tem, com o Laravel, total controle sobre a modificação do tempo através da excelente biblioteca Carbon PHP.

Na versão 8 do Laravel um novo passo doi adicionado, fornecendo helpers que auxiliam a manipulação do tempo dentro dos testes. Explicando rapidamente, ao usar esses métodos, por exemplo, o tempo poderá ser reiniciado (zerado) entre cada teste.

Componentes dinâmicos no Blade

É comum você precisar renderizar um componente Blade dinamicamente em tempo de execução – runtime. Agora o Laravel 8 para renderizar o componente fornece o:

<x-dynamic-component/>


Para saber mais sobre Laravel 8

Estes são apenas alguns dos novos recursos do Laravel 8, para verificar uma lista completa leia as notas de lançamento do projeto bem como o guia de atualização.

Não deixe de acompanhar o blog https://mazer.dev que lança periodicamente artigos técnicos sobre o framework. Além de assinar o canal no Youtube para aulas e cursos gratuitos, e me seguir o Twitter para notas rápidas de tecnologia.

Deixe uma resposta

Ademir Mazer Junior

Engenheiro de Software. desenvolvedor com aproximadamente 30 anos de experiência. Professor universitário. Especialista em Arquitetura de Software, PHP, Laravel, Processos de Desenvolvimento de Software.