O que há de novo no Laravel 10: um mergulho profundo nas atualizações e recursos mais recentes

Publicados: 2023-01-25

Depois de mais de uma década desde a introdução do popular framework Laravel, você já se perguntou: “O que mais o Laravel pode oferecer aos desenvolvedores PHP?”

Dado o quanto ele já simplificou o desenvolvimento do PHP para desenvolvedores iniciantes e profissionais, alguns podem até argumentar que isso estragou os desenvolvedores fazendo-os acreditar que o PHP é a linguagem de programação mais fácil que existe.

Então, o Laravel ainda tem mais surpresas reservadas para os desenvolvedores do Laravel? Ou esgotou todos os meios possíveis para oferecer suporte aos desenvolvedores PHP?

Bem, no mínimo, sabemos que o Laravel 10 tem muito a oferecer. Isso é o que descobriremos neste artigo enquanto levamos você em uma jornada pelos novos recursos, correções e métodos e pacotes obsoletos do Laravel 10.

Cronograma de lançamento do Laravel

A equipe principal do Laravel costumava lançar duas versões principais anualmente — uma a cada seis meses.

No entanto, o ciclo de lançamento foi alterado quando Taylor Otwell, o criador do Laravel, anunciou que uma única versão principal seria lançada a cada ano. Isso permitiu que a equipe principal e a comunidade dedicassem mais tempo e esforço a uma versão específica da estrutura e introduzissem novos recursos poderosos sem fazer alterações significativas.

Com o Laravel 9 lançado em 8 de fevereiro de 2022, o cronograma de lançamento esperado é o seguinte:

  • Laravel 10 : 7 de fevereiro de 2023
  • Laravel 11 : 6 de fevereiro de 2024

Além disso, de acordo com a política de suporte, correções de bugs são oferecidas por 18 meses e atualizações de segurança por dois anos para todas as versões do Laravel.

A seguir estão as correções de bugs esperadas e o cronograma de atualizações de segurança:

  • O Laravel 9 continuará recebendo correções de bugs até 8 de agosto de 2023 e correções de segurança até 6 de fevereiro de 2024.
  • O Laravel 10 receberá correções de bugs até 6 de agosto de 2024 e correções de segurança até 4 de fevereiro de 2025.
  • Espera-se que o Laravel 11 obtenha correções de bugs até 4 de agosto de 2025 e correções de segurança até 2 de fevereiro de 2026.

Você deve atualizar para o Laravel 10?

É importante lembrar que nem sempre precisamos atualizar a versão Laravel de nosso aplicativo para a versão mais recente assim que uma nova versão é lançada.

O Laravel é um framework de código aberto, o que implica que toda vez que instalamos uma nova instância do Laravel em nossa máquina, nós possuímos a base de código do framework. Isso significa que, mesmo que a versão do framework que nosso aplicativo está usando não seja mais suportada, o aplicativo ainda funcionará; nós apenas teremos que mantê-lo nós mesmos.

Como resultado, é amplamente sugerido que a estabilidade do aplicativo seja priorizada em relação às atualizações da estrutura.

Resumindo, você deve considerar atualizar para o Laravel 10 quando:

  • O aplicativo está estável com sua versão atual e funcionando sem problemas.
  • A nova versão adiciona um recurso que seu aplicativo requer ou corrige um problema que seu aplicativo está enfrentando.
  • O aplicativo será bem testado antes que as alterações de atualização sejam enviadas para produção.

Atualizações importantes do Laravel 10

Laravel 10 Logo
Uma imagem do logotipo do Laravel 10.

Como você já sabe, o Laravel 10 ainda não foi lançado. No entanto, manteremos este artigo atualizado com todas as novas informações sobre o lançamento antecipado. Portanto, recomendamos marcar esta página e revisitá-la de tempos em tempos.

Novos recursos e atualizações no Laravel 10

Não há dúvida de que a parte mais empolgante de qualquer novo lançamento é a adição de novos recursos. Então, sem mais delongas, vamos começar dando uma olhada nos novos recursos e atualizações do Laravel 10.

1. PHP 8.1: No coração do Laravel 10

O PHP 8.1 é a versão PHP mínima exigida no Laravel 10. Com base na comparação entre o branch Laravel 9 e o branch master do framework no GitHub, alguns recursos do PHP 8.1, como propriedades readonly e array_is_list , devem ser introduzidos no Laravel 10 .

2. Suporte para PHP 8.2

O PHP 8.2 foi lançado em 8 de dezembro de 2022, apenas dois meses antes da data de lançamento do Laravel 10. No entanto, isso não deve impedi-lo de utilizar os recursos do PHP 8.2, pois sem fazer nada extra, o Laravel 10 estará pronto para o PHP 8.2.

Na verdade, todo o ecossistema Laravel, incluindo Forge, Vapor e Envoyer, suporta PHP 8.2, e você pode até usar PHP 8.2 com Laravel 9. Que legal?!

3. Atualização dos kits iniciais do Laravel

O Laravel Breeze e o Jetstream estão prontos para usar o Laravel 10 assim que for lançado. Além disso, eles já estão atualizados para o Inertiajs 1, com uma surpresa para o JetStream ter suporte completo ao modo escuro.

4. Atualização da versão do Predis

O Predis é um cliente Redis robusto para PHP que pode ajudá-lo a aproveitar ao máximo o armazenamento em cache para fornecer uma experiência de usuário fantástica. O Laravel anteriormente suportava as versões 1 e 2, mas a partir do Laravel 10, o framework não suporta mais o Predis 1.

Embora a documentação do Laravel mencione o Predis como o pacote para interagir com o Redis, você também pode usar a extensão PHP oficial. Esta extensão fornece uma API para comunicação com servidores Redis.

5. Declarações de tipo nativo

O Laravel costumava utilizar DocBlocks em seu código esqueleto para esclarecer o que um pedaço de código faz e que tipos de parâmetros ou respostas esperar. No entanto, graças às declarações de tipo nativo no Laravel 10, isso mudará.

A melhor maneira de explicar essa mudança é com um exemplo simples. Em vez de uma função parecida com esta:

 /** * Determine whether the user can create models. * * @param \{{ namespacedUserModel }} $user * @return \Illuminate\Auth\Access\Response|bool */ public function create({{ user }} $user) { // }

… em vez disso, ficará assim:

 /** * Determine whether the user can create models. */ public function create({{ user }} $user): bool { // }

Essa alteração é apenas para benefício da experiência do desenvolvedor, pois os IDEs saberão a forma do parâmetro e da resposta esperados. Ele fornecerá melhor clareza de tipo quando não for possível por meio de tipos nativos do PHP. Portanto, ajudará os editores de código a ter um melhor desempenho com os recursos de preenchimento automático.

6. Todas as regras de validação invocáveis ​​por padrão

Se você fosse fazer uma regra de validação invokável no Laravel 9, você precisaria adicionar --invokable flag após o comando craft. Isso não é mais necessário porque todas as regras do Laravel 10 são invocáveis ​​por padrão. Assim, você pode executar o seguinte comando para criar uma nova regra invocável no Laravel 10:

 php artisan make:rule CustomRule

7. Suporte de modificação de coluna nativa

Em uma tentativa de eliminar a necessidade do pacote doctrine/dbal ao usar change() para modificar colunas, um novo recurso está chegando ao Laravel 10. Esse recurso permitirá que desenvolvedores usem o método change() e modifiquem colunas no MySQL, PostgreSQL e SQL Server sem a necessidade de pacotes extras. Esta é uma mudança significativa e arriscada, mas acreditamos que vale a pena, pois eliminará a necessidade de um pacote adicional.

Para entender melhor a nova funcionalidade, veja o exemplo abaixo:

 $table->integer('user_balance')->unsigned()->default(0)->comment('balance'); // `user_balance` is an integer, unsigned, defaults to '0', and column comment is 'balance'

Agora, estamos assumindo que temos uma coluna para user_balance e queremos alterar seu tipo. A partir do Laravel 10, podemos simplesmente fazer isso:

 $table->bigInteger('user_balance')->change(); // This will change `user_balance` to bigInteger instead of just integer

O código acima alterará com sucesso o tipo da coluna, mas também eliminará os atributos UNSIGNED , DEFAULT e COMMENT . Portanto, é importante lembrar de adicionar todos os atributos ao alterar o tipo de uma coluna:

 $table->bigInteger('user_balance')->unsigned()->default(0)->comment('balance')->change();

No caso de você ter várias conexões de banco de dados e já ter instalado a doctrine/dbal , é recomendável chamar o método Schema::useNativeSchemaOperationsIfPossible() dentro do método boot em App\Providers\AppServiceProvider para poder usar operações de esquema nativo e usar operações nativas antes de confiar no pacote (o SQLite, por exemplo, ainda não suporta isso):

 use IlluminateSupportFacadesSchema; class AppServiceProvider extends ServiceProvider { public function boot() { Schema::useNativeSchemaOperationsIfPossible(); } }

8. Recuperação nativa do tipo de coluna

Outro recurso notável do Laravel 10 é a capacidade de usar o Schema::getColumnType sem ter que depender do pacote doctrine/dbal . Atualmente usamos Schema::getColumnType com doctrine/dbal para obter o tipo de coluna. doctrine/dbal mapeia cada tipo de coluna nativa para seu tipo de doctrine/dbal equivalente e não suporta muitos dos tipos de coluna usados ​​pelo Laravel em vários bancos de dados.

No Laravel 10, por outro lado, o novo Schema::getColumnType retornará o tipo de coluna real em vez de seu equivalente em doctrine/dbal . Ele também permite escrever testes de integração para o novo recurso de modificação de coluna nativa. Você pode usar esse recurso para obter o nome do tipo de dados ou toda a definição de tipo da coluna especificada:

 Schema::getColumnType('products', 'price'); // decimal

9. Algoritmo de hash mais rápido

xxHash é um algoritmo Hash incrivelmente rápido. Possui grande aleatoriedade e dispersão de saída, bem como exclusividade para reduzir colisões. Como o PHP 8.1 fornece suporte para xxh128 e o Laravel 10 é executado no PHP 8.1, ter um algoritmo de hash confiável dentro do Laravel 10 é ideal.

Vale a pena mencionar que Taylor destacou durante sua revisão dessa mudança que alguns pacotes de terceiros podem confiar que os nomes dos arquivos estejam no formato exato como o hash SHA-1, que é o algoritmo que o Laravel costumava usar para hash. Portanto, se você está planejando uma atualização para o Laravel 10, seria sensato verificar isso em qualquer pacote de terceiros que você esteja usando em seu aplicativo.

10. Suporte ao método whereExists() para o Eloquent Builder

Atualmente, o uso de whereExists() requer a configuração da consulta aninhada usando um fechamento. Felizmente, com o Laravel 10, agora é possível incluir um Eloquent Builder como uma consulta aninhada. Ele permite o uso de métodos de construtor personalizados, escopos de modelo e assim por diante.

Por exemplo, normalmente fazemos isso se quisermos usar whereExists() :

 Order::whereExists(function ($query) { $query->from('products')->whereColumn('products.order_id', 'orders.id'); });

Com o Laravel 10, podemos fazer exatamente isso:

 Order::whereExists( Product::whereColumn('products.order_id', 'orders.id') );

11. Otimização de carregamento antecipado

Um dos novos recursos interessantes do Laravel 10 é a otimização de carregamento quando não há nenhuma chave a ser carregada. Essa alteração é mais uma correção do que um recurso, pois aborda um problema atual no qual as relações de carregamento rápido fazem com que um grande número de consultas impossíveis sejam executadas.

Atualmente, ao carregar relações ansiosas que não possuem nenhuma chave para ser carregada, o Laravel ainda executará uma consulta semelhante a esta, select \* from `table_name` where 0 = 1 . No entanto, a nova atualização do Laravel 10 verifica se há alguma chave disponível em primeiro lugar e, se não, fornece uma coleção vazia, eliminando a necessidade de consultas desnecessárias ao banco de dados.

Métodos e pacotes obsoletos no Laravel 10

Laravel 10 diz adeus ao PHP 8.0

A estrutura do Laravel abandonará o suporte para PHP 8.0 no Laravel 10. Portanto, se você planeja atualizar seu aplicativo para o Laravel 10, primeiro deve atualizar a versão do PHP para PHP 8.1 ou PHP 8.2.

Remoção de métodos obsoletos

Podemos ver que a equipe principal do Laravel está removendo métodos obsoletos no Laravel 9 da ramificação do Laravel 10. Prevemos que a equipe atualizará o guia de atualização da documentação para incluir todos os métodos e pacotes obsoletos assim que o Laravel 10 for lançado.

Se você for migrar um projeto atual para o Laravel 10, qualquer código que use um método obsoleto deve ser reescrito em uma nova abordagem para obter o mesmo resultado.

Aqui está uma lista de todas as depreciações e exclusões que encontramos ao comparar o Laravel 9 com o branch master:

  • O método Route::home (obsoleto no Laravel 9)
  • As funções e métodos obsoletos em torno do dispatchNow . Isso é para encorajar os desenvolvedores a usar dispatchSync , que é a única maneira suportada de despachar imediatamente.
  • O getBaseQuery porque tem um toBase equivalente
  • A classe MaintenanceModeException que não foi mais usada
  • O traço MocksApplicationServices
  • O método Mail::failures do mail fake
  • A propriedade obsoleta $dates , é recomendável usar $casts
  • O método assertTimesSent()
  • Suspensão do suporte para Predis 1 e doctrine/dbal 2
  • Todas as depreciações relacionadas na doctrine/dbal desde que o Laravel abandonou o suporte para a versão 2

Como instalar o Laravel 10

O Laravel 10 já está disponível para você dar uma volta e testar suas funcionalidades. O sinalizador –dev no instalador do Laravel instala o branch master do repositório laravel/laravel . Tudo o que você terá que fazer é executar este comando no seu terminal:

 laravel new example-kinsta-app --dev

Ou, se preferir usar o Composer:

 composer create-project --prefer-dist laravel/laravel example-kinsta-app dev-master

Para entender melhor o comando Composer, aqui está uma explicação rápida:

  • laravel/laravel : O pacote para a instalação do Laravel
  • example-kinsta-app : O novo diretório para seu novo projeto (pode ser alterado)
  • dev-master : A próxima versão do Laravel (neste caso, Laravel 10)

Depois de instalar o Laravel 10, você pode confirmar a versão navegando até o novo diretório example-kinsta-app e executar o comando craft:

 $ php artisan --version Laravel Framework 10.x-dev

Como atualizar um projeto para o Laravel 10

Você está tentado a atualizar para o Laravel 10? A equipe principal do Laravel trabalha duro na documentação para fornecer um guia de atualização simples e direto, cobrindo todas as alterações possíveis. Sinta-se à vontade para verificar o guia de atualização do Laravel 10, pois algumas informações sobre o processo de atualização já estão disponíveis.

Você também deve ficar de olho no Laravel Shift assim que o Laravel 10 for lançado. Ele oferece uma abordagem simples e automatizada para atualizar sua versão do Laravel.

Além da documentação do Laravel e do Laravel Shift, nós da Kinsta publicaremos um guia de atualização abrangente com exemplos do mundo real. Portanto, não se esqueça de marcar esta página e retornar a ela assim que o Laravel 10 for lançado.

Como implantar projetos Laravel 10

A implantação do Laravel 10 não deve ser tão diferente da implantação do projeto Laravel 9. Aqui está o que esperamos que os requisitos do servidor possam ser:

  • PHP >= 8.1
  • Extensão PHP BCMath
  • Extensão Ctype PHP
  • Extensão PHP cURL
  • Extensão DOM PHP
  • Extensão PHP de informações de arquivo
  • Extensão PHP JSON
  • Extensão PHP Mbstring
  • Extensão OpenSSL PHP
  • Extensão PCRE PHP
  • Extensão PHP DOP
  • Extensão PHP do Tokenizador
  • Extensão XML PHP

Você pode implantar e hospedar seu projeto Laravel 10 em Kinsta em questão de minutos, pois o Laravel é um de uma longa lista de estruturas suportadas para aplicativos hospedados.

Implantando Laravel 10 em Kinsta: Guia passo a passo

Existem vários benefícios em hospedar e implantar seus aplicativos em Kinsta, incluindo não ter que se preocupar com a configuração de implantação.

Kinsta fornece uma ferramenta amigável e poderosa para implantar aplicativos, conectar-se a bancos de dados e monitorar o desempenho ao vivo. Essa ferramenta é conhecida como MyKinsta e, nesta seção, orientaremos você nas etapas para implantar um aplicativo Laravel 10 usando-o.

1. Aplicativo Laravel 10

Página inicial do aplicativo Laravel 10
A página inicial de um aplicativo Laravel 10 implantado em Kinsta.

Supondo que você tenha um aplicativo Laravel 10 localmente, precisamos garantir que ele tenha um repositório github disponível. Usaremos esse repositório para implantar o aplicativo posteriormente.

Você pode incluir um arquivo .htaccess no diretório raiz do seu aplicativo que contém o seguinte:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>

Para Laravel, isso redireciona todas as solicitações para public/index.php. No entanto, se necessário, você pode atualizar este comando ao adicionar seu aplicativo (etapa Configurar seus processos ) ou após a implantação na página Processos do aplicativo. Você pode usar:

  • heroku-php-apache2 /public
  • php artisan serve --host 0.0.0.0 --port 8080

2. Entre no MyKinsta

Página de Login MyKinsta
Captura de tela da página de login do MyKinsta.

Vá para a página de login do MyKinsta e digite seu endereço de e-mail e senha. Se você ainda não tem uma conta, pode registrar uma nova conta e obter $ 20 de desconto no primeiro mês de qualquer assinatura de plano de preços.

3. Autorizando Kinsta no GitHub

Depois de fazer login, você notará que o painel possui 3 opções para criar um site WordPress, criar um aplicativo ou criar um banco de dados. Vamos pressionar o botão Conectar GitHub para integrar com o GitHub.

painel MyKinsta
Uma captura de tela do painel MyKinsta.

Em seguida, clique no botão Continuar com o GitHub . Se você ainda não estiver conectado ao GitHub, será mostrada a opção de fazer login. Em seguida, você pode autorizar o aplicativo Kinsta GitHub a acessar sua conta GitHub selecionando Autorizar Kinsta .

Por fim, o GitHub redirecionará seu navegador para MyKinsta para continuar configurando o aplicativo.

Conectando o MyKinsta com o GitHub
Captura de tela para conectar MyKinsta com GitHub.

Depois de se conectar ao GitHub, você verá o pop-up/modal Add Application , que tem um menu suspenso para selecionar um repositório GitHub. Clique no campo Repositório do GitHub e selecione Editar permissões do GitHub no menu suspenso.

Adicionando um aplicativo ao MyKinsta
Captura de tela para adicionar um aplicativo ao MyKinsta.

Isso abrirá uma nova guia em seu navegador para a página da Web do GitHub, onde você pode escolher quais dados Kinsta poderá acessar. Em vez de habilitar o acesso a todos os repositórios, considere escolher apenas aquele que deseja que Kinsta use. Clique em Somente selecionar repositórios e escolha o repositório que deseja implantar.

Instalando o MyKinsta no GitHub
Uma captura de tela para instalar o MyKinsta no GitHub.

Em seguida, clique em Instalar e está tudo pronto!

Quando você retornar ao MyKinsta e clicar no campo do repositório do GitHub , o repositório autorizado deverá estar visível. Além disso, você pode marcar a caixa de seleção Implantação automática ao confirmar para permitir que o recurso do MyKinsta implante automaticamente seu aplicativo assim que fizer alterações no repositório GitHub.

Selecionando a ramificação do repositório para MyKinsta
Captura de tela para selecionar a ramificação do repositório para MyKinsta.

4. Adicionar detalhes básicos do aplicativo

Agora você pode dar ao aplicativo um nome que será usado apenas no painel e selecionar entre 25 locais de data center, permitindo que você coloque seu aplicativo na localização geográfica mais próxima de seus usuários. Se precisar de ajuda para determinar qual data center é ideal para sua aplicação, confira nosso guia para escolher o local certo para o data center.

Adicionando detalhes básicos do aplicativo
Captura de tela para adicionar detalhes básicos do aplicativo.

5. Adicione variáveis ​​de ambiente

A seção a seguir é para adicionar variáveis ​​de ambiente e a variável mais importante é o APP_KEY .

Se você ainda não tem uma chave em seu arquivo .env , você pode gerar uma usando um gerador de chaves online do Laravel. Em seguida, insira APP_KEY no campo Chave 1 e insira a chave de aplicativo gerada no campo Valor 1 .

Por fim, selecione Disponível durante o tempo de execução e Disponível durante o processo de compilação .

Adicionando variáveis ​​de ambiente ao aplicativo MyKinsta
Captura de tela para adicionar variáveis ​​de ambiente ao aplicativo MyKinsta.

5. Configure o ambiente de construção

A coisa mágica aqui é que você não precisa configurar nada! Você pode prosseguir clicando no botão Continuar e pronto! Você concluiu a configuração do ambiente construído. No entanto, se você deseja aprimorar os recursos de construção para garantir uma construção mais rápida, pode escolher a opção preferida no campo Recursos de construção .

O campo Caminho de construção é opcional — você pode deixá-lo vazio e o MyKinsta usará a pasta raiz.

Ambiente de construção do aplicativo MyKinsta
Configurando o ambiente de construção do aplicativo.

6. Configure os Processos e Forma de Pagamento

Para a seção Recursos , preencha cada campo com as seguintes informações:

  • Nome do processo: o nome exibido na lista de processos do seu aplicativo.
  • Tipo de processo: escolha com cuidado, pois não pode ser alterado depois de definido. Você pode, no entanto, adicionar e alterar processos adicionais, como um trabalho em segundo plano, na página Processos de seu aplicativo após a implantação.
  • Comando Iniciar: O comando “Iniciar” para o seu processo (não obrigatório).
  • Tamanho do pod: a capacidade do pod que você espera que precise para o seu processo.
  • Contagem de instâncias: o número de instâncias do seu processo (máximo de 50).

Observe que você pode simplesmente clicar em Continuar sem preencher o campo Iniciar comando , pois Kinsta detecta automaticamente o comando necessário durante a primeira implantação.

Processo de configuração do aplicativo MyKinsta
Captura de tela para configurar o processo do aplicativo.

Para a última etapa, revise os custos mensais de uso calculados para seu aplicativo e confirme sua forma de pagamento. Quando terminar, clique no botão Confirmar forma de pagamento .

Confirmando detalhes de pagamento para MyKinsta
Captura de tela para confirmar os detalhes do pagamento.

E pronto! Kinsta fará todo o trabalho em segundo plano para atender seu aplicativo.

Carregando o processo de implantação do aplicativo
Captura de tela para carregar o processo de implantação do aplicativo.

Em seguida, você terá acesso a todos os detalhes do processo de implantação, bem como à URL temporária do aplicativo ao vivo, que poderá substituir posteriormente pelo seu próprio domínio.

Implantação bem-sucedida do aplicativo
Implantação bem-sucedida do aplicativo Laravel10 no MyKinsta.

Seu aplicativo Laravel 10 agora está ativo em Kinsta, mas e se você precisar fazer uma alteração na produção? E se quisermos alterar o atributo href de uma tag âncora? Como ativamos o recurso Implantação automática ao confirmar , o MyKinsta detectará quaisquer alterações que fizermos na ramificação implantada e atualizará automaticamente o aplicativo ao vivo de acordo.

7. Conecte o Laravel 10 com o banco de dados MySQL

Agora que implantamos nosso aplicativo Laravel 10, podemos construir um banco de dados sem esforço e vinculá-lo ao nosso aplicativo. Tudo o que você precisa fazer é clicar em Aplicativos no menu de navegação à esquerda, em Adicionar serviço e selecionar Banco de dados .

Adicionando novo banco de dados ao MyKinsta
Captura de tela para adicionar um novo banco de dados ao MyKinsta.

Após preencher todos os campos, clique em Criar banco de dados. Isso estabelecerá um novo banco de dados pronto para conexões internas e externas. Em nosso cenário, exigimos uma conexão interna com o projeto Laravel 10 que implantamos.

Para isso, basta clicar em Adicionar aplicativo na seção Conexões internas e selecionar seu aplicativo. Você pode marcar a caixa de seleção Adicionar variáveis ​​de ambiente ao aplicativo e o MyKinsta preencherá todas as variáveis .env de que seu aplicativo precisa.

Conectando o banco de dados ao aplicativo Laravel 10
Captura de tela para conectar o banco de dados ao aplicativo Laravel 10.

Com apenas isso, seu aplicativo Laravel 10 é implantado e conectado a um banco de dados.

Como contribuir para o Laravel 10

Embora o Laravel seja mantido por uma equipe principal, ele é desenvolvido ativamente por mais de 3.000 colaboradores voluntários.

Você quer ser um desses contribuidores e ajudar a moldar o futuro do Laravel? Se você respondeu sim, pode ajudar desenvolvedores em todo o mundo adicionando um novo recurso, corrigindo um bug ou até reescrevendo uma parte confusa da documentação.

Para contribuir com o Laravel 10, aqui está o que você precisa fazer:

  1. Vá para o repositório GitHub do Laravel e verifique as solicitações pull marcadas com [10.x] no título. Isso fornecerá a você uma visão clara de todas as solicitações pull para o Laravel 10. Se um dos PRs abordar a contribuição que você pretendia fazer, veja se você pode melhorá-lo.
  2. Se sua contribuição planejada ainda não foi abordada por outra pessoa, você mesmo pode criar um PR.
  3. Nem tudo vale a pena adicionar à base de código do framework. Portanto, esforce-se para implementar apenas melhorias que serão fáceis de manter no futuro e ajudarão a grande maioria da comunidade Laravel.
  4. Assegure-se de aderir às diretrizes de contribuição do Laravel para uma melhor chance de mesclar suas alterações com o framework.

Outra razão para amar o Laravel 10 é que ele permite que você ganhe dinheiro por suas contribuições com caça aos bugs! Veremos isso a seguir.

Concurso Laravel 10 Bug Hunt

Laravel 10 concurso de caça ao bug
Concurso de caça aos bugs do Laravel 10.

O Laravel 10 anunciou um excelente concurso no qual um contribuidor aleatório tem a chance de ganhar $ 1.000.

Este será o primeiro concurso desse tipo na história do Laravel. Ele foi projetado para encorajar a comunidade a encontrar e corrigir bugs ocultos no Laravel 10.

As regras são diretas:

  • Somente os PRs enviados para a ramificação 10.x do repositório laravel/framework são elegíveis.
  • Somente correções de bugs “genuínas” serão consideradas. Novos recursos, refatoração e correções de erros de digitação não são considerados.
  • Cada correção de bug deve ser suportada por um teste.
  • As correções de bugs aceitas serão rotuladas no GitHub e um vencedor aleatório será anunciado no final do concurso.

O concurso terminará quando a primeira versão estável do Laravel 10 for lançada. Qualquer pull request que ainda esteja pendente ou enviado após o lançamento do Laravel 10 será inelegível.

Resumo

Isso não é tudo para este artigo! Haverá mais mudanças até a data de lançamento. Mas, por enquanto, o Laravel 10 parece ser extremamente promissor, e estamos ansiosos para cobrir todos os presentes que ele traz para o mundo do PHP.

Enquanto isso, se você estiver procurando por mais maneiras de melhorar o desempenho do seu aplicativo Laravel, considere mudar para um provedor de hospedagem premium. As soluções de hospedagem de aplicativos da Kinsta estão entre as mais rápidas, seguras e fáceis de usar do setor, e são projetadas especificamente para os desenvolvedores, oferecendo simplificação da produção e suporte especializado 24 horas por dia, 7 dias por semana, de nossos próprios desenvolvedores experientes.