Olá, seja muito bem vindo a esse post. Eu não sei se você já está sabendo da nova atualização do Laravel para 8.0, enquanto eu escrevo acredito que já está na versão 8.10.

E a cada atualização sempre vem diversos recursos e coisas novas.

A cada vez que sai uma atualização do Laravel, eles costumam atualizar a página do laravel.com e adicionar as informações de atualização:

laravel 1

Entendendo isso temos aqui um tela na qual iremos visualizar tudo aquilo que foi mudado e o que veio de novo para nos ajudar.

Policy

Para versões LTS, como o Laravel 6, as correções de bugs são fornecidas por 2 anos e as correções de segurança são fornecidas por 3 anos. Essas versões fornecem a janela mais longa de suporte e manutenção. Para lançamentos gerais, as correções de bugs são fornecidas por 7 meses e as correções de segurança são fornecidas por 1 ano. Para todas as bibliotecas adicionais, incluindo Lumen, apenas a versão mais recente recebe correções de bug. Além disso, reveja as versões do banco de dados suportadas pelo Laravel .

laravel 2

Laravel 8

Laravel 8 continua as melhorias feitas no Laravel 7.x introduzindo Laravel Jetstream, classes de fábrica de modelo, esmagamento de migração, lote de trabalho, limitação de taxa aprimorada, melhorias de fila, componentes Blade dinâmicos, visualizações de paginação Tailwind, auxiliares de teste de tempo, melhorias para artisan serve, ouvinte de evento melhorias e uma variedade de outras correções de bugs e melhorias de usabilidade.

Laravel Jetstream

Laravel Jetstream foi escrito por Taylor Otwell .

O Laravel Jetstream é um andaime de aplicativo lindamente projetado para o Laravel. Jetstream fornece o ponto de partida perfeito para seu próximo projeto e inclui login, registro, verificação de e-mail, autenticação de dois fatores, gerenciamento de sessão, suporte de API via Laravel Sanctum e gerenciamento de equipe opcional. O Laravel Jetstream substitui e aprimora o arcabouço de interface de usuário de autenticação legado disponível para versões anteriores do Laravel.

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

Diretório de Modelos

Devido à grande demanda da comunidade, o esqueleto padrão do aplicativo Laravel agora contém um diretório. Esperamos que você aproveite esta nova casa para seus modelos Eloquent! Todos os comandos do gerador relevantes foram atualizados para assumir que existem modelos dentro do diretório, se existir. Se o diretório não existir, a estrutura assumirá que seus modelos devem ser colocados dentro do diretório.app/Modelsapp/Modelsapp

Aulas de fábrica de modelos

Aulas de fábrica modelo foram contribuídas por Taylor Otwell .

As fábricas modelo do Eloquent foram inteiramente reescritas como fábricas baseadas em classes e aprimoradas para ter suporte de relacionamento de primeira classe. Por exemplo, o UserFactory incluído no Laravel é escrito assim:

laravel 3

Graças à nova HasFactory característica disponível nos modelos gerados, a fábrica de modelos pode ser usada da seguinte forma:

laravel 4

Como as fábricas de modelos agora são classes PHP simples, as transformações de estado podem ser escritas como métodos de classe. Além disso, você pode adicionar quaisquer outras classes auxiliares à fábrica de modelos do Eloquent, conforme necessário.

Por exemplo, seu Usermodelo pode ter um suspended estado que modifica um de seus valores de atributo padrão. Você pode definir suas transformações de estado usando o statemétodo da fábrica de base . Você pode nomear seu método de estado como quiser. Afinal, é apenas um método PHP típico:

laravel 5

Depois de definir o método de transformação de estado, podemos usá-lo assim:

laravel-8.5

Como mencionado, as fábricas de modelos do Laravel 8 contêm suporte de primeira classe para relacionamentos. Portanto, supondo que nosso Usermodelo tenha um postsmétodo de relacionamento, podemos simplesmente executar o seguinte código para gerar um usuário com três postagens:

laravel 6

Para facilitar o processo de atualização, o pacote laravel / legacy-factories foi lançado para fornecer suporte para a iteração anterior de fábricas de modelos dentro do Laravel 8.x.

As fábricas reescritas do Laravel contêm muito mais recursos que achamos que você vai adorar. Para saber mais sobre fábricas de modelos, consulte a documentação de teste de banco de dados .

Migration Squashing

O esmagamento da migração foi contribuído por Taylor Otwell .

Conforme você constrói seu aplicativo, pode acumular mais e mais migrações ao longo do tempo. Isso pode fazer com que seu diretório de migração fique inchado com potencialmente centenas de migrações. Se estiver usando MySQL ou PostgreSQL, agora você pode “esmagar” suas migrações em um único arquivo SQL. Para começar, execute o comando:schema:dump

php artisan schema:dump

// Dump the current database schema and prune all existing migrations...
php artisan schema:dump --prune

Quando você executa este comando, o Laravel irá escrever um arquivo “schema” em seu diretório. Agora, quando você tentar migrar seu banco de dados e nenhuma outra migração for executada, o Laravel irá executar o SQL do arquivo de esquema primeiro. Após executar os comandos do arquivo de esquema, o Laravel executará todas as migrações restantes que não fizeram parte do despejo do esquema.database/schema

Trabalho em lote

O batching de trabalhos foi contribuído por Taylor Otwell & Mohamed Said .

O recurso de lote de trabalhos do Laravel permite que você execute facilmente um lote de trabalhos e, em seguida, execute alguma ação quando o lote de trabalhos tiver concluído a execução.

O novo batchmétodo da Busfachada pode ser usado para despachar um lote de trabalhos. Obviamente, o envio em lote é útil principalmente quando combinado com retornos de chamada de conclusão. Assim, você pode usar as thencatchfinallymétodos para definir retornos de chamada de conclusão para o lote. Cada um desses retornos de chamada receberá uma instância quando for invocado:Illuminate\Bus\Batch

laravel 7

Para saber mais sobre lotes de trabalhos, consulte a documentação da fila .

Limite de taxa aprimorado

Melhorias de limitação de taxa foram contribuídas por Taylor Otwell .

O recurso limitador de taxa de solicitação do Laravel foi aumentado com mais flexibilidade e poder, enquanto ainda mantém a compatibilidade com versões anteriores da throttleAPI de middleware da versão anterior .

Os limitadores de taxa são definidos usando o método RateLimiterda fachada for. O formétodo aceita um nome de limitador de taxa e um Closure que retorna a configuração de limite que deve ser aplicada às rotas às quais este limitador de taxa é atribuído:

laravel 8

Como os retornos de chamada do limitador de taxa recebem a instância de solicitação HTTP de entrada, você pode criar o limite de taxa apropriado dinamicamente com base na solicitação de entrada ou usuário autenticado:

laravel 9

Às vezes, você pode desejar segmentar os limites de taxa por algum valor arbitrário. Por exemplo, você pode permitir que os usuários acessem uma determinada rota 100 vezes por minuto por endereço IP. Para fazer isso, você pode usar o bymétodo ao construir seu limite de taxa:

laravel 10

Modo de manutenção aprimorado

Melhorias no modo de manutenção foram contribuídas por Taylor Otwell com inspiração de Spatie .

Em versões anteriores do Laravel, o php artisan downrecurso do modo de manutenção pode ser contornado usando uma “lista de permissão” de endereços IP que tinham permissão para acessar o aplicativo. Este recurso foi removido em favor de uma solução mais simples de “segredo” / token.

Enquanto estiver no modo de manutenção, você pode usar a secretopção para especificar um token de desvio do modo de manutenção:

php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"

Após colocar o aplicativo em modo de manutenção, você pode navegar até a URL do aplicativo correspondente a este token e o Laravel irá emitir um cookie de desvio do modo de manutenção para o seu navegador:

https://example.com/1630542a-246b-4b66-afa1-dd72a4c43515

Ao acessar esta rota oculta, você será redirecionado para a /rota do aplicativo. Assim que o cookie for emitido para o seu navegador, você poderá navegar no aplicativo normalmente como se ele não estivesse em modo de manutenção.

Pré-renderizando a visualização do modo de manutenção

Se você utilizar o php artisan downcomando durante a implantação, seus usuários ainda podem ocasionalmente encontrar erros se acessarem o aplicativo enquanto as dependências do Composer ou outros componentes de infraestrutura estão sendo atualizados. Isso ocorre porque uma parte significativa do framework Laravel deve inicializar para determinar se sua aplicação está em modo de manutenção e renderizar a visualização do modo de manutenção usando o motor de templates.

Por esta razão, o Laravel agora permite que você pré-renderize uma visualização do modo de manutenção que será retornada no início do ciclo de solicitação. Esta visualização é renderizada antes que qualquer uma das dependências do seu aplicativo seja carregada. Você pode pré-renderizar um modelo de sua escolha usando a opção downdo comando render:

php artisan down --render="errors::503"

Despacho / Cadeia de Encerramento catch

Melhorias de captura foram contribuídas por Mohamed Said .

Usando o novo catchmétodo, agora você pode fornecer um Fechamento que deve ser executado se um Fechamento na fila não for concluído com êxito após esgotar todas as tentativas de repetição configuradas da fila:

laravel 11

Componentes de lâmina dinâmica

Os componentes Dynamic Blade foram contribuídos por Taylor Otwell .

Às vezes, você pode precisar renderizar um componente, mas não saber qual componente deve ser renderizado até o tempo de execução. Nesta situação, você agora pode usar o componente embutido do Laravel para renderizar o componente baseado em um valor ou variável de tempo de execução:dynamic-component

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

Para saber mais sobre os componentes do Blade, consulte a documentação do Blade .

Melhorias de Listener de Eventos

As melhorias do ouvinte de eventos foram contribuídas por Taylor Otwell .

Ouvintes de eventos baseados em fechamento agora podem ser registrados apenas passando o fechamento para o método. O Laravel irá inspecionar o Closure para determinar qual tipo de evento o listener lida:Event::listen

laravel 12

Além disso, os ouvintes de eventos baseados em Closure agora podem ser marcados como enfileirados usando a função:Illuminate\Events\queueable

Como trabalhos em fila, você pode usar as onConnectiononQueuedelaymétodos para personalizar a execução do ouvinte fila:

laravel 13

Se quiser lidar com falhas anônimas do listener na fila, você pode fornecer um Closure para o catchmétodo ao definir o queueablelistener:

laravel 14

Ajudantes de teste de tempo

Os ajudantes de teste de tempo foram contribuídos por Taylor Otwell com inspiração em Ruby on Rails .

Ao testar, você pode ocasionalmente precisar modificar o tempo retornado por ajudantes como nowou . A classe de teste de recursos básicos do Laravel agora inclui ajudantes que permitem a você manipular o tempo atual:Illuminate\Support\Carbon::now()

Melhorias para artesãos

serveMelhorias artesanais foram contribuídas por Taylor Otwell .

servecomando Artisan foi aprimorado com recarga automática quando mudanças de variáveis ​​de ambiente são detectadas em seu .envarquivo local . Anteriormente, o comando precisava ser interrompido e reiniciado manualmente.

Visualizações de paginação do Tailwind

O paginador do Laravel foi atualizado para usar o framework CSS do Tailwind por padrão. Tailwind CSS é uma estrutura CSS de baixo nível altamente personalizável que fornece todos os blocos de construção de que você precisa para criar designs sob medida, sem nenhum estilo opinativo irritante que você precise lutar para ignorar. Claro, as visualizações do Bootstrap 3 e 4 também permanecem disponíveis.

Roteamento de atualizações de namespace

Nas versões anteriores do Laravel, o RouteServiceProvidercontinha uma $namespacepropriedade. O valor dessa propriedade seria prefixado automaticamente nas definições de rota do controlador e nas chamadas para o método action/ auxiliar . No Laravel 8.x, esta propriedade é o padrão. Isso significa que nenhum prefixo de namespace automático será feito pelo Laravel. Portanto, em novos aplicativos Laravel 8.x, as definições de rota do controlador devem ser definidas usando a sintaxe padrão de chamada do PHP:URL::actionnull

As chamadas para os actionmétodos relacionados devem usar a mesma sintaxe que pode ser chamada:

Se você preferir o prefixo de rota do controlador no estilo Laravel 7.x, você pode simplesmente adicionar a $namespacepropriedade à do seu aplicativo RouteServiceProvider.

Toda a referência e dados aqui contidos no post foram retirados do próprio Laravel: https://laravel.com/docs/8.x/releases

Quer aprender a utilizar o Laravel de forma simples e fácil ?

Confira nosso curso gratuito


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *