8 Novos Recursos de Desenvolvimento Web Poderosos no Laravel 8
Laravel é o framework PHP mais popular, com mais de 1,2 milhão de sites construídos nele. Desde o seu lançamento em junho de 2011, o Laravel tem atraído a atenção de diversos desenvolvedores web, apresentando-se como o framework PHP mais utilizado.
O Laravel oferece um ambiente de desenvolvimento rápido, segurança e bons guias de desenvolvedor. Criado e mantido por seu criador Taylor Otwell, o Laravel continuou a fazer melhorias em seu software. Ele segue um esquema de controle de versão semântico e está atualmente na versão 8.x.
Aqui estão oito novos recursos a serem procurados no Laravel 8.
1. Laravel Jetstream
Este é o novo recurso de estrutura de aplicativos do Laravel . Ele vem com recursos prontos para uso, como rastreamento de sessão, login, registro, verificação de e-mail, autenticação de dois fatores e gerenciamento de equipe opcional.
A Jetstream oferece duas opções de andaimes: Livewire e Inertia.
Livewire é uma biblioteca responsiva e dinâmica que oferece a capacidade de evitar o uso de uma estrutura JavaScript , como Vue.js. Ele usa a linguagem de modelagem padrão do Blade. O Livewire também oferece a flexibilidade de escolher entre sair do Blade ou usar o Vue.js.
Inertia usa Vue.js como sua linguagem de modelagem.
Ele oferece todo o poder do Vue.js sem a necessidade de roteamento do lado do cliente. Se Vue for sua linguagem de modelagem preferida, a pilha Inertia é uma boa escolha.
2. Esmagamento da migração
Conforme você desenvolve seu aplicativo, suas migrações podem aumentar. Você pode “comprimi-los” em um único arquivo SQL para evitar o barulho. Esta opção está disponível para usuários MySQL ou PostgreSQL.
O Laravel irá criar um arquivo de esquema quando o comando schema: dump for executado. Quando você tentar migrar seu banco de dados, o Laravel irá primeiro migrar o arquivo SQL associado ao seu esquema. Depois disso, se houver alguma migração que não fez parte do esquema, ela será executada.
3. Tailwind CSS
O Laravel agora usa o framework CSS do Tailwind como seu paginador padrão. Tailwind é uma biblioteca de primeiro utilitário CSS que fornece classes CSS de uso único. Ele oferece a vantagem de ter suas informações de estilo em um só lugar, em vez de dispersá-las. Você pode aplicar classes predefinidas diretamente ao seu documento HTML.
O Tailwind também oferece a capacidade de criar designs responsivos. Ele oferece um primeiro sistema móvel semelhante ao do Bootstrap. Isso implica que utilitários não prefixados respondem em todos os tamanhos de tela, enquanto utilitários prefixados entram em vigor em pontos específicos.
O Tailwind também apresenta um modo just-in time habilitado para que seus estilos sejam gerados sob demanda, em vez de ter tudo renderizado no momento da construção inicial. Isso o torna mais rápido do que usar CSS comum. Outra vantagem que isso oferece é que você não precisa se livrar de seus estilos de produção não utilizados, o que lhe dá a capacidade de usar seu código em vários ambientes.
Também é interessante notar que o Laravel Jetstream foi construído usando o Tailwind.
4. Trabalho em lote
Você pode usar este recurso para executar um lote de trabalhos em um determinado momento e realizar uma determinada ação (ões) quando sua execução for concluída. A fachada do barramento fornece um método em lote que permite o envio de trabalhos.
Você pode executar esta em conjunto com outras chamadas de retorno de conclusão, como captura, em seguida, e, finalmente, para adicionar funcionalidade aos seus postos de trabalho.
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 começar, você precisa criar uma tabela de migração que conterá metadados de trabalho, como taxas de conclusão. Use o comando php artisan queue: batches-table para fazer isso. E então o php artisan migra para migrá-los. Agora você pode definir seus trabalhos batchable e, em seguida, despachá-los quando estiver pronto.
5. Aulas de fábrica de modelos
Primeiro, vamos discutir fábricas modelo. Eles são usados para propagar seus bancos de dados com dados de teste. Esses dados falsos são importantes para fins de teste antes que quaisquer dados reais do usuário sejam inseridos.
No Laravel 8, as classes do antigo modelo do Eloquent foram completamente substituídas por fábricas baseadas em classes. Com isso, agora você pode gerenciar estados de objeto simplesmente usando métodos. Esses métodos normalmente chamam o método state () , que é fornecido na classe base de fábrica do Laravel. O método state () leva como argumento uma função que pegará um array de atributos atribuídos à fábrica.
6. Manutenção aprimorada
Anteriormente, o Laravel apresentava uma lista de permissões de endereços IP que você poderia usar para acessar o aplicativo em modo de manutenção. Isso foi removido e substituído por uma solução “secreta” mais simples. Você pode especificar o token de desvio usando a opção secreta .
Enquanto estiver no modo de manutenção, você pode acessar a URL da sua aplicação e o Laravel irá automaticamente passar o cookie de bypass para o seu navegador. Assim que o cookie for emitido, você acessará o aplicativo normalmente como se ele não estivesse no modo de manutenção.
Seus usuários podem enfrentar erros se você usar o artesão de PHP durante a implantação. Para evitar isso, o Laravel oferece a opção de renderizar uma visualização em modo de manutenção que será retornada sempre que uma solicitação for feita. Você pode pré-renderizar um modelo usando a opção de renderização no comando para baixo.
7. Ajudantes de teste de tempo
O Laravel agora inclui a capacidade de permitir que você manipule a hora atual. Você tem a opção de utilizar seus atributos de tempo como milissegundos, horas, dias e assim por diante.
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();
}
Essas funções auxiliares tornam seu trabalho organizado e fácil de seguir, dando nomes descritivos aos métodos.
8. Limitação de taxa aprimorada
A limitação de taxa permite que você gerencie a quantidade de tráfego que você recebe em uma determinada rota ou grupo de rotas. Isso pode ser feito usando o middleware do throttle . O middleware de aceleração leva o nome do limitador de taxa que você deseja usar em uma rota. Um código de solicitação HTTP (429) é retornado se a solicitação recebida exceder um determinado limite de taxa.
No Laravel 8, o limitador de taxa foi construído com mais flexibilidade e ainda compatível com versões anteriores. A função de retorno de chamada do limitador de taxa permite que você crie dinamicamente limites de taxa adequados estabelecidos em usuários autenticados ou solicitações de entrada.
Tempos emocionantes para o Laravel
O Laravel é fácil de aprender e fornece um guia de desenvolvedor elaborado com exemplos fáceis de seguir. Ele fornece correções de bugs e patches quase que semanalmente e lançamentos principais anualmente (por volta de setembro). Se você precisar de mais ajuda, o Laravel fornece a plataforma Laracasts, onde você pode obter ajuda especializada. A plataforma oferece aulas de desenvolvimento web pagas, no entanto.
Para um desenvolvedor web, o Laravel é uma habilidade imprescindível. É de código aberto, de uso gratuito e com uma comunidade de mais de 40.000 usuários. É uma tecnologia que vale a pena acompanhar.