Posted on: July 11, 2023 11:43 AM
Posted by: Renato
Categories: Laravel laravelphp
Views: 423
Um passeio pelas novidades do Laravel 10: o que há de novo na versão mais recente
(Vinicius Dias)Eu vou postar sobre as novidades do laravel 10 que foi lançado no dia 14 de fevereiro de 2023.
Uma dessas funcionalidades é primeira parte que eu falei inclusive na
introdução que é o fato do laravel 10 não utilizar mais o PHP 8.0 ele não suporta essa versão então para utilizar o laravel 10 você precisa pelo menos do PHP 8.1, as versões suportadas ativamente do PHP são PHP 8.1 é php 8.2 sendo que a versão do PHP 8.3 deve ser lançada no final desse ano e por que dessa decisão algumas pessoas supõem que isso foi porque o 8.0 só recebe atualizações de segurança agora e não mais
atualizações contínuas vamos dizer assim atualizações é uma versão ativamente suportada como eles costumam chamar mas na verdade o motivo para essa decisão é um pouco mais simples se a gente rolar aqui na página de novidades do laravel 10 uma das coisas que eles deixam bem claro é que o laravel utiliza alguns componentes do
Symphony e o Symphony 6 que é a versão atual no momento, e é a versão que o Laravel é o 10 utiliza o Symphony 6 precisa do PHP 8.1 então laravel precisa precisar do PHP 8.1 a menos que o Laravel quisesse utilizar uma versão mais antiga do Symphony. Então para se manter atualizado com o Symphony o laravel Tomou essa decisão também está agora dependendo de pelo menos o PHP 8.1 um detalhe também bastante interessante é que o laravel agora possui uma escada né uma agenda de lançamento mais organizada a exemplo do Symphony também existia uma época que o Laravel lançava versões quando elas estavam prontas não tinha algo mais organizado mas agora que o Framework é muito grande e o Framework é mais organizado possui uma equipe por trás eles estão seguindo uma timeline bastante semelhante quando então basicamente os cinco foi lançado dois meses depois uma nova versão do laravel deve ser lançada e isso vai ser
feito de forma anual então Teoricamente sempre próximo de Fevereiro nós devemos
ter novas versões do Laravel claro que aqui eu tô falando diversões do que a gente chama de Major como foi falado lá no vídeo sobre esse método então por exemplo laravel 9 foi lançado em fevereiro de 2022 Lara veio 10 em fevereiro de 2023 Provavelmente o Laravel 11 em fevereiro de 2024 ou próximo dessa data.
Continuando para as novidades aqui tem um exemplo né do que vai acontecer e agora continuando com as novidades existe um novo pacote que o Laravel criou pra te ajudar a trabalhar com feature flags que são uma funcionalidade para te ajudar na verdade uma técnica para te ajudar a implementar funcionalidades. Então vamos supor que você tá desenvolvendo uma funcionalidade nova só que ela ainda não tá 100% pronta Tem alguns bugzinhos ou detalhes a resolver você ainda assim pode fazer o mergi dessa funcionalidade para o Branch principal que você tá trabalhando mas deixar uma feature Flag ali na frente disso. Ou seja somente para as contas que tiverem essa fitney Flag habilitadas essa funcionalidade vai ser exibida somente para determinados usuários essa
funcionalidade vai ser exibida. E com isso você pode lançar testes Beta por exemplo garantir que só determinados usuários acessem a funcionalidade e assim em diante e com esse pacote aqui(Laravel Pennant) você agora tem uma facilidade maior para implementar feature flags no seu sistema. Além disso tem agora uma camada para processos no largo(Process layer for Laravel) Então imagina que você tá criando um Job uma tarefa que roda em plano de fundo lendo mensagem ali ou alguma coisa do tipo não é algo que fica no seu serviço web que vai ficar quando o usuário fizeram uma requisição não algo que roda por baixo dos panos para esses cenários você pode precisar criar novos processos verificar o status desse processo esse tipo de coisa é algo comum então agora o Laravel vai ter um novo serviço para você gerenciar processos de forma um pouco mais amigável não é uma funcionalidade nova tudo isso daqui algo que você pode
fazer nativamente com PHP mas ele trouxe uma cara nova para essas funcionalidades
então por exemplo tô rodando um processo aqui posso ver se ele foi rodar foi executado com sucesso se ele falhou posso ver o código de saída dele posso ver a saída em si e assim em diante. E além disso tem como você ter um pau de processo ou seja vários processos naverdade esse povo de processos é como se fosse uma lista de vários processos que você pode utilizar para você para executar alguma tarefa enfim tem
bastante coisa que você pode fazer inclusive na área de testes você
consegue criar um processo falso E aí definir qual é a saída dele por exemplo
então é um pacote bastante completo é um serviço bastante completo e aquilo lá
era.
Lançou Nessa versão e esse ponto aqui uma certa polêmica(Native type declarations in laravel 10 skeleton) inclusive declaração de tipos nativos nos códigos gerados pelo laravel o que que isso quer dizer quando você roda o PHP Artes and make controle por exemplo o laravel gera um controle para você ele adicionou o tipos nesse tipo de código tipos no que no código que vai ser gerado pelo artesão na sua no seu projeto. Então qual foi a polêmica que aconteceu quando você cria um controle o tipo de resposta que foi adicionado Nessa versão foi o response que Teoricamente é para quem por exemplo trabalha com Symphony me faz todo sentido só que no Laravel você pode devolver uma responsta você pode devolver uma View você pode devolver um arrey você pode devolver qualquer coisa no controle então isso gera uma confusão porque algumas pessoas não sabiam o que fazer nesse cenário embora seja uma substituição muito simples gerou uma
certa confusão algumas pessoas sabiam o que fazer mas reclamaram de ter que
fazer isso que é basicamente mudar o tipo de retorno porque a pessoa precisa
e por causa disso inclusive se eu não me engano foi ontem que eu vi um tweet do
criador do laravel informando que esse tipo vai ser removido nesse caso a gente
específico em controle mas basicamente agora em códigos que o laravel Gera para
você haverá um tipos em parâmetros e o tipos de retorno, agora as propriedades
não estão sendo tipadas por enquanto Conforme você pode dar conferir.
(Invokable validation rules are the default)
Agora suas regras de validação podem ser criadas Com um único método underline
underline invoke Então dessa forma seus código de validação suas classes de
validação para o seu request elas ficam um pouco mais limpas você não precisa
deletar a interface rules e implementar aquele método que se eu não me engano se
chamava processo ou algo do tipo Então dessa forma é um único métodozinho
underline underline invoke que torna essa classe executável o objeto gerado
pelas suas classes executável se eu não me engano a documentação já mostra isso
desde a versão 9, para você ver o que isso quer dizer você os objetos podem ter essa carinha aqui então tudo que você vai precisar é um método underline underline invoque você não precisa ter é implementar a grow E aí ter um método com o nome certo só um e-book já resolve E aí com isso você tem essa possibilidade tem essa na verdade é opção como padrão então existem já se eu não me engano desde a versão 9 mas agora elas se tornam o padrão então antes você precisava passar esse parâmetro o invocab E agora você não precisa mais isso daqui já é o padrão ter esse formato é o padrão e
isso na minha opinião faz todo sentido é muito melhor já que é uma classe que só
precisa de um método torná-la em volta faz sentido e você elimina a necessidade
de discussão de nome de um método então achei uma decisão interessante.
(Profile option for tests)
E isso daqui pro fail Action for tastes isso é uma das novidades que eu mais gostei
Quando vocês tiverem executando os testes da sua aplicação do larvel Você
pode passar uma simples opção que é o underline underline profile para o seu
artesana e com isso Você tem uma informação de quais teste estão
demorando muito o que que tá atrasando a sua suíte de testes por exemplo e aqui
ele mostra os 10 testes mais lentos ordenado do mais lento para o mais
rápido com isso você vai entender Quais testes precisam ser resolvidos para que
a sua suíte de teste seja mais ágil seja mais rápida eu falei sobre profile ou
perfilamento, com essa versão do Laravel 10 você tem essa facilidade nos testes
então é uma novidade bastante interessante.
Tem um novo helper(New String Password helper) na sua classe de STR de string para você gerar uma senha eu não vejo muita necessidade para esse tipo de código na aplicação que eu uso hoje mas em aplicações na aplicação que eu desenvolvo hoje né
porque ação que eu trabalho mas eu uso aplicações que fazem uso desse tipo de
funcionalidade ao invés de você criar uma senha inicial no seu sistema Quando
você vai se cadastrar o sistema gera uma senha forte e aleatória para você e aí
caso você queira você altera ou então às vezes ele até te obriga a mas dessa
forma você consegue gerar uma senha completamente aleatória de forma
bastante simples e você pode passar os parâmetros o tamanho dessa senha pode
passar sequer incluir letras números símbolos espaço isso tudo através de
parâmetros para esse método aqui Sou bastante simples Então essas são as
novidades E além disso Claro existem desconstinações tudo que estava marcado
para ser descontinuado no laravel 9 foi efetivamente removido no laravel 10
Donate to Site
Renato
Developer
-
Renato Lucena - há 1 ano
- https://youtubetranscript.com/?v=FyxuKfD3XoQ&t=347