Em 03 de Agosto foi liberado o release 9.23 do framework Laravel 9.
Neste artigo trago um resumo desta atualização.
Boa leitura.
Novidades
Artisan Docs
É através do Artisan que realizamos grande parte do trabalho de desenvolvimento de aplicações Laravel.
Conseguimos criar classes, executar migrações e testes.
Entretanto, sempre que precisávamos recorrer à documentação era necessário acessar o site oficial buscando pela informação desejada.
A partir deste release foi introduzido um novo comando:
php artisan docs
Assim que executado ele trará uma lista com toda a documentação atualmente disponível no site oficial.
Ao digitar um item da lista será aberta uma nova janela do navegador padrão já com a respectiva documentação.
Para acessar diretamente a página da documentação sem visualizar alista de opções bastar digitar o comando php artisan docs
precedido da documentação desejada, como por exemplo Redis
.
Também é possível ir diretamente ao tópico desejado.
Por exemplo: php artisan docs queues redis
Abaixo o novo comando sendo executado.
DeleteQuietly
Em uma aplicação Laravel o ciclo de vida de um model dispara diversos eventos, possibilitando ao desenvolvedor criar métodos específicos para capturar cada momento.
Para evitar este comportamento em classes que herdam de Illuminate\Database\Eloquent\Model
é comum utilizar-se do método withoutEvents()
.
O método withoutEvents()
recebe como parâmetro uma função de call back tornando silenciosas todas as instruções executadas dentro desta função.
A implementação desta abordagem é relativamente simples como podemos ver no código a seguir:
use App\Models\Product;
$product = product::withoutEvents(function () use () {
product::findOrFail(1)->delete();
return product::find(2);
});
Embora já houvessem métodos para salvar e atualizar um modelo de forma silenciosa, respectivamente saveQuietly()
e updateQuietly()
faltava o método para deletar, que foi adicionado no release 9.23.
Abaixo um exemplo de código utilizando o novo método.
use App\Models\Product;
$product = Product::find(1);
$product->deleteQuietly();
Bugs
Para usuários do recurso de agendamento de tarefas (Queues) disponível no Laravel esta correção veio em boa hora.
Em cenários com grande volume de tarefas agendadas para o mesmo horário utilizando banco de dados em memória Redis, havia a possibilidade do banco de dados travar.
A correção consiste em limitar a quantidade de tarefas que podem ser adicionadas à fila principal, criando uma fila secundária onde as tarefas agendadas ficam em 'stand by', sendo liberadas de acordo com a disponibilidade da fila principal.
Todos os detalhes deste release podem ser vistos aqui.
Top comments (0)