Acompanhante, Procrastinar, Cache::maleável e muito mais…

Chaperone, Defer, Cache::flexible, and more are now available in Laravel 11.23 image

A equipe do Laravel lançou a versão 11.23 esta semana, com as atualizações de código desimpedido do Laracon US 2024, uma vez que defer()simultaneidade, atributos de contêiner contextuais e muito mais.

Atualizações do Laracon 2024

Taylor Otwell contribuiu com todos os brindes que ele compartilhou em sua palestra principal na Laracon US 2024, incluindo chaperone(), defer(), Cache::flexible()atributos de contêiner contextuais e muito mais.

A documentação está sendo atualizada; cá estão alguns destaques que você deve conferir para se familiarizar com essas atualizações:

Ver Solicitação de Pull #52710 para detalhes completos sobre tudo adicionado relacionado a Taylor’s.

Somar regras minRatio e maxRatio à validação de dimensão

Cam Kemshal-Bell adicionou a proporção mínima e máxima ao dimensions regra de validação:

Você pode usar esses métodos fluentemente, usando minRatio(), maxRatio()e ratioBetween():

use IlluminateValidationRule;

 

//

// Using minRatio and maxRatio fluent methods

//

Rule::dimensions()

->minRatio(1 / 2)

->maxRatio(1 / 3);

// dimensions:min_ratio=0.5,max_ratio=0.33333333333333

 

//

// Equivalent using ratioBetween()

//

Rule::dimensions()->ratioBetween(min: 1 / 2, max: 1 / 3);

 

// dimensions:min_ratio=0.5,max_ratio=0.33333333333333

Você também pode usar o estilo string dimensions regra com esta atualização também:

use IlluminateSupportFacadesValidator;

 

Validator::make($request->all(), [

'min_12' => 'dimensions:min_ratio=1/2',

'square' => 'dimensions:ratio=1',

'max_25' => 'dimensions:max_ratio=2/5',

'min_max' => 'dimensions:min_ratio=1/4,max_ratio=2/5',

]);

Suporte Enum com suporte em métodos Gate e Authorize Middleware

Ele é Tarifas contribuiu com duas solicitações de pull que continuam a somar suporte a enum com suporte. Esta versão inclui atualizações para o Gate métodos e Authorize middleware.

Cá estão alguns exemplos de uso de Enums com Gate métodos:

enum Abilities: string {

case VIEW_DASHBOARD = 'view-dashboard';

case EDIT = 'edit';

case UPDATE = 'update';

}

 

 

// Before

Gate::define('view-dashboard', function (User $user) {

return $user->isAdmin;

});

 

Gate::authorize('view-dashboard');

Gate::inspect('view-dashboard');

Gate::check('view-dashboard');

Gate::any(['edit', 'update], $post);

Gate::none(['edit', 'update]], $post);

Gate::allows('update', $post);

Gate::denies('update', $post);

 

// After

Gate::define(Abilities::VIEW_DASHBOARD, function (User $user) {

return $user->isAdmin;

});

 

Gate::authorize(Abilities::VIEW_DASHBOARD);

Gate::inspect(Abilities::VIEW_DASHBOARD);

Gate::check(Abilities::VIEW_DASHBOARD);

Gate::any([Abilities::EDIT, Abilities::UPDATE], $post);

Gate::none([Abilities::EDIT, Abilities::UPDATE], $post);

Gate::allows(Abilities::UPDATE, $post);

Gate::denies(Abilities::UPDATE, $post);

Cá está um exemplo do Authorize suporte de middleware para enumerações suportadas:

Route::get('/dashboard', [AdminDashboardController::class, 'index'])

->middleware(

Authorize::using(AbilitiesSua visita nos ajuda a continuar oferecendo o melhor para você! style="color: #005CC5;">VIEW_DASHBOARD)

)

->name(AdminRoutes::DASHBOARD);

Pular Middleware para Trabalhos de Fileira

Kennedy Tedesco contribuiu com um middleware Skip para pular um trabalho com base em uma quesito. Leste middleware tem três métodos construtores estáticos que você Sua visita nos ajuda a continuar oferecendo o melhor para você! usar, incluindo when(), unless(). O trabalho é ignorado com base no resultado da quesito usada:

class MyJob implements ShouldQueue

{

use Queueable;

 

public function handle(): void

{

// TODO

}

 

public function middleware(): array

{

return [

Skip::when($someCondition), // Skip when `true`

 

Skip::unless($someCondition), // Skip when `false`

 

Skip::when(function(): bool {

if ($someCondition) {

return true;

}

return false;

}),

];

}

}

Coleção Magníloquo findOrFail() Método

Steve Bauman contribuiu com um findOrFail() método em coleções Eloquent que adiciona uma maneira de encontrar um padrão em uma coleção já preenchida:

$users = User::get(); // [User(id: 1), User(id: 2)]

 

$users->findOrFail(1); // User

 

$user->findOrFail([]); // []

 

$user->findOrFail([1, 2]); // [User, User]

 

$user->findOrFail(3); // ModelNotFoundException: 'No query results for model [User] 3'

 

$user->findOrFail([1, 2, 3]); // ModelNotFoundException: 'No query results for model [User] 3'

Notas de lançamento

Você pode ver a lista completa de novos recursos e atualizações inferior e a diferença entre 11.22.0 e 11.23.0 no GitHub. As notas de versão a seguir são diretamente do registro de alterações:

v11.23.0

Tags:

Crédito: Manadeira Original

Adriano Pina

Adriano Pina

Análise de Sistemas | SEO e Google Ads | Fundador da Loja Script PHP Aqui & Marca Shoslh de tecnologia

Especialista em transformar ideias em soluções digitais e acelerar o crescimento online.

Deixe um comentário

Tem perguntas? Nos envia sua mensagem 24/7!

(17) 99100-0874

Endereço & Contato

Centro, Interior de São Paulo
E-mail: [email protected]

Links Úteis
BAIXAR APP | SCRIPT PHP AQUI
Certificados
0
    0
    Seu carrinho
    Seu carrinho está vazio

    Usamos cookies para garantir que oferecemos a melhor experiência em nosso site. 

       

    X

    Clique em um de nossos representantes abaixo para conversar no WhatsApp ou envie um email para: 📧 [email protected]

    Precisa de ajuda fale conosco?