Laravel 11 chegou com algumas mudanças que posso dizer "finalmente" e umas outras "pra que isso?".
Controller simplificado
O controller base foi simplicado, não extendendo o Controller interno do Laravel, sendo assim quando precisar do AuthorizesRequests
ou do ValidatesRequests
precisará adicionar a cada controller que for utilizar.
Rate limit em segundos
Agora é possível definir rate limits em segundos em vez de minutos, utilizando o Limit::perSecond()
.
Novos comandos de criação do artisan
Agora temos comando para criação de class, enum, interface e trait:
php artisan make:class
php artisan make:enum
php artisan make:interface
php artisan make:trait
Helper once
Agora você pode cachear um retorno de função e sempre ter o mesmo retorno nas chamadas subsequentes:
function random(): int
{
return once(function () {
return random_int(1, 1000);
});
}
random(); // 123
random(); // 123 (cached result)
random(); // 123 (cached result)
Menos arquivos padrões
Se olhar a pasta app/Http
vai ver somente o controller agora, sem o Kernel.php
e a pasta Middlewares
.
Campo 'password' pode ser com outro nome agora
Finalmente, depois de anos de espera os Devs BRs que cairam num projeto que o banco é em português poderão utilizar o nome da coluna senha na tabela de usuario como 'senha' em vez de 'password'. O método getAuthPasswordName()
foi adicionado ao Authenticatable
permitindo alterar o nome da propriedade da senha.
Migrations de alterações ficaram mais chatinhas
Agora toda vez que alterar uma coluna pela migration precisará reescrever todas as alterações anteriores novamente para não voltar ao padrão. Digamos que na criação foi adicionado um comentário na coluna, e em uma migration posterior você altera para ter um valor padrão, para não perder o comentário terá que chamar o método novamente ou irá voltar para o padrão que é sem comentário. Particulamente achei isso ruim.
MariaDB
Agora o Laravel possui um driver específico pro MariaDB, em vez de utilizar o driver do MySQL agora pode utilizar o mariadb nas configurações do banco. O que isso muda por enquanto é em relação ao uuid
, mas futuramente deverá ter mais coisas específicas pro banco.
Carbon 3
Agora o Laravel suporta tanto o Carbon 2 quanto o Carbon 3, só atulizar nas dependencias do composer e fazer os ajustes conforme a documentação do Carbon no que precisar.
Registro de Providers
Agora o registro de providers foi movido para o arquivo bootstrap/Providers.php
e retirado do config/app.php
. Para packages que criavam arquivos nessa pasta agora é precisa atualizar o método para o ServiceProvider::addProviderToBootstrapFile()
.
Essas são as mudanças que achei interresante comentar, pra saber de todas é só ler o release notes e o upgrade guide na documentação do Laravel.
Top comments (1)
Hi,
This is Sourov Pal. I am a freelance web developer and Software Developer. I can do one of project for free. If you like my work you will pay me otherwise you don't need to pay. No upfront needed, no contract needed. If you want to outsource your work to me you may knock me.
My what's app no is: +8801919852044
Github Profile: github.com/sourovpal
Thanks