Lançado Laravel 8

Lançado Laravel 8

O Laravel 8 foi lançado e inclui muitos novos recursos, incluindo Laravel Jetstream, a models directory, model factory classes, migration squashing, rate-limiting improvements, time testing helpers, dynamic blade components, componentes de blade dinâmicos e muitos outros recursos.

Laravel Jetstream

O Laravel Jetstream melhora a estrutura de IU existente do Laravel encontrada nas versões anteriores. Ele fornece um ponto de partida para novos projetos, incluindo login, registro, verificação de e-mail, autenticação de dois fatores, gerenciamento de sessão, suporte de API via Laravel e gerenciamento de equipe.

Models Directory

O esqueleto da aplicação do Laravel 8 inclui um diretório app/Models. Todos os comandos do gerador 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 app/.

Model Factory Classes

As model factories do Eloquent agora são baseadas em classes a partir do Laravel 8, com suporte aprimorado para relacionamentos entre factories (ou seja, um usuário tem muitos posts). Acho que você vai concordar o quão incrível é a nova sintaxe para gerar registros por meio de model factories novos e aprimorados.

use App\Models\User;

User::factory()->count(50)->create();

// using a model state "suspended" defined within the factory class
User::factory()->count(5)->suspended()->create();

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 . Eliminar as migrações existentes pode diminuir o inchaço do arquivo de migração e possivelmente melhorar o desempenho durante a execução de testes.

Improved Rate Limiting

O Laravel 8 traz melhorias para a funcionalidade de limitação de taxa existente, ao mesmo tempo que oferece compatibilidade com versões anteriores do middleware de aceleração existente e oferece muito mais flexibilidade. O Laravel 8 tem o conceito de Rate Limiters que você pode definir por meio de uma fachada.

use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Support\Facades\RateLimiter;

RateLimiter::for('global', function (Request $request) {
    return Limit::perMinute(1000);
});

Como você pode ver, o método for() usa a instância de solicitação HTTP, dando a você controle total sobre a limitação de solicitações dinamicamente.

Time Testing Helpers

Os usuários do Laravel têm total controle sobre a modificação do tempo através da excelente biblioteca Carbon PHP. O Laravel 8 traz isso um passo adiante, fornecendo auxiliares de teste convenientes para manipular o tempo dentro dos testes.

// 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 exact time...
$this->travelTo(now()->subHours(6));

// Return back to the present time...
$this->travelBack();

Ao usar esses métodos, o tempo será zerado entre cada teste.

Dynamic Blade Components

Às vezes, você precisa renderizar um componente blade dinamicamente no tempo de execução. O Laravel 8 fornece o <x-dynamic-component/> para renderizar o componente.

<x-dynamic-component :component="$componentName" class="mt-4" />

Saiba mais sobre o Laravel 8

Estes são apenas alguns dos novos recursos do Laravel 8 e para ver uma lista completa verifique as notas de lançamento do Laravel 8 , bem como o guia de atualização . Além disso, não se esqueça do Laravel Shift se quiser uma maneira fácil de atualizar.

Fonte: https://rafazingano.com.br/laravel-8-ja-foi-lancado/

Fechar Menu