O Laravel se destaca como um dos principais frameworks PHP, reconhecido por sua sintaxe refinada, funcionalidades robustas e ferramentas que facilitam o trabalho dos desenvolvedores. Sua arquitetura promove um desenvolvimento web eficiente em PHP, permitindo a criação de aplicativos escaláveis e fáceis de manter.

Na Kinsta, estamos sempre comprometidos em estar à frente da curva e adotar as tecnologias mais recentes. E como temos ampla experiência com aplicativos Laravel, estamos entusiasmados com os avanços incluídos em sua versão mais recente.

O Laravel 11 apresenta vários recursos transformadores que aumentam a produtividade do desenvolvedor e aprimoram o desempenho do aplicativo. Desde a configuração e a depuração simplificadas até a flexibilidade aprimorada, essa versão melhora a eficiência do desenvolvimento e ajuda você a criar aplicativos mais robustos. Vamos começar!

A estrutura de diretórios renovada no Laravel 11

O Laravel 11 inclui uma estrutura de diretórios redesenhada que aumenta a eficiência do desenvolvimento. Essa mudança simplifica a organização dos arquivos de projeto e reduz o código padrão incluído nas versões anteriores do Laravel.

A remoção de determinados diretórios, como app/Exceptions e app/Http/Middleware, torna a estrutura do Laravel 11 mais limpa do que as versões anteriores. Por exemplo, as versões anteriores incluem nove middlewares, muitos dos quais é improvável que você personalize. A exclusão desse diretório minimiza o volume do código e permite que você se concentre nos aspectos essenciais da sua base de código. E se for necessário personalizar um middleware, você pode fazê-lo por meio do App/ServiceProvider.

O Laravel 11 também remove a pasta config, mudando a forma como você gerencia as configurações. Voltaremos a essa mudança em uma seção posterior.

As vantagens da nova estrutura de diretórios do Laravel incluem:

  • Reutilização de código – Com menos código padrão, você pode se concentrar na criação de componentes modulares e reutilizáveis. Essa capacidade de reutilizar funcionalidades comuns em todo o aplicativo promove um processo de desenvolvimento mais eficiente.
  • Melhor compartilhamento de conhecimento – Uma estrutura de diretório menos complexa facilita o compartilhamento de conhecimento entre os membros da equipe e as pessoas que estão integrando a tecnologia. A navegação mais simples na estrutura do produto torna a colaboração mais fácil e eficaz.
  • Redução do tempo de codificação – Excluir diretórios e arquivos desnecessários faz com que os desenvolvedores dediquem menos tempo a lidar com códigos padrões que não são necessários. Isso torna a codificação, depuração e testes mais ágeis, resultando em uma produtividade aumentada.

Uma estrutura de diretórios simplificada oferece um processo de desenvolvimento refinado e permite a implementação mais rápida de recursos e funcionalidades.

Maior flexibilidade com modelos casts

O Laravel 11 está fazendo a transição para modelos baseados em métodos, mudando a forma como você lida com atributos em um modelo Laravel Eloquent – uma representação de uma tabela de banco de dados que atua como intermediária para interações com essa tabela.

Nas versões anteriores do Laravel, você definia os atributos usando uma array properties. Com o Laravel 11, você especifica as conversões de modelo em um método apropriadamente chamado casts().

Essa transição para modelos baseados em métodos oferece várias vantagens semelhantes às dos métodos ou funções de código. Um dos benefícios mais significativos é a reutilização do código. A inclusão da lógica de conversão nos métodos torna seu código mais modular e reutilizável. E como o método casts() delineia a conversão de atributos, seu código se torna mais legível e de fácil manutenção.

Também é importante observar que o Laravel 11 garante a compatibilidade com versões anteriores. Consequentemente, você pode fazer a transição perfeita de suas bases de código existentes para usar a abordagem de modelo casting atualizada do Laravel 11. Essa compatibilidade torna a adoção do Laravel 11 um processo tranquilo, especialmente se você já estiver familiarizado com suas iterações anteriores.

Configuração simplificada

Como mencionado anteriormente, o Laravel 11 traz uma mudança no gerenciamento de configuração. Ele consolida as definições de configuração em uma única fonte: o arquivo .env. Essa é uma diferença notável em relação às versões anteriores do Laravel, que distribuíam as configurações em vários arquivos.

Colocar as configurações somente no arquivo .env melhora substancialmente a organização. Isso também simplifica o fluxo de trabalho de desenvolvimento, tornando mais intuitivo e eficiente.

Outra atualização importante relacionada à configuração é o recurso de cascata, com o qual você pode ajustar suas configurações removendo opções desnecessárias que não deseja personalizar. O resultado é um desenvolvimento mais compacto.

O único arquivo .env elimina a necessidade de vários arquivos e, em vez disso, armazena todas as configurações relevantes em um único local. Entretanto, se você achar que o arquivo .env está ficando muito grande, poderá usar um comando para retornar o arquivo de configuração ao diretório config. Por exemplo, o php artisan config:publish auth gera o arquivo auth.php no diretório config.

A capacidade de recuperar configurações específicas é uma grande vantagem para as organizações.

Experiência de depuração refinada com a nova funcionalidade Dumpable

O trait Dumpable é uma adição valiosa ao Laravel 11. Ele permite que você use auxílios de depuração familiares nas classes, incluindo os métodos dd() e dump(). Esses métodos são fundamentais durante a depuração, pois fornecem informações em tempo real sobre um objeto ou variável de destino.

Observe que o trait Dumpable provavelmente substituirá os métodos dd e dump existentes em uma infinidade de classes centrais do Laravel, garantindo uma experiência de depuração consistente e coesa em todo o framework.

Inovações no tratamento de rotas do Laravel 11

O Laravel 11 melhora muito as versões anteriores com o tratamento consolidado de rotas. Ele reduz o número de arquivos de rota padrão de quatro para dois: routes.php e console.php. Essa alteração é impactante porque minimiza o código boilerplate e torna o framework mais intuitivo.

É fundamental observar que, se você deseja incorporar rotas API ao seu aplicativo, essa alteração significa que você deve optar por elas deliberadamente. Esse mecanismo oferece suporte para uma estrutura de aplicativo mais limpa e personalizada, incluindo rotas de API somente quando necessário. Para gerar o arquivo api.php e integrar o Laravel Sanctum, execute o comando php artisan install:api.

A transmissão de eventos no Laravel 11 segue um paradigma semelhante. Para ativar a funcionalidade e criar o arquivo channels.php, execute &php artisan install:broadcasting. Isso organiza a configuração de arquivos essenciais e configurações, acelerando a integração da transmissão de eventos em aplicativos Laravel.

Coletivamente, essas alterações apoiam uma mudança em direção a uma estrutura de aplicativo modular e personalizável. Como você pode optar por recursos específicos, o Laravel 11 oferece uma abordagem mais personalizada para o gerenciamento de arquivos de rota do que as versões anteriores.

A evolução do kernel HTTP do Laravel

O kernel do Laravel tem sido um componente vital no framework, atuando como o ponto de entrada para solicitações HTTP e comandos terminais. Ele orquestrou o fluxo dessas solicitações, gerenciando a pilha de middleware, roteamento e outros componentes essenciais que contribuem para o tratamento de solicitações recebidas pelo aplicativo.

O Laravel 11 remove o kernel do Laravel. Em vez disso, você usa a classe Bootstrap/App, que vincula interfaces essenciais ao contêiner. Depois de configurar os componentes necessários, a classe Bootstrap/App retorna a instância do aplicativo. Essa separação entre a criação de instâncias e a execução do aplicativo e o tratamento de respostas proporciona uma arquitetura mais modular.

A remoção do kernel do Laravel é outra etapa para minimizar o código boilerplate. Como a classe Bootstrap/App cuida da configuração essencial, você pode se concentrar na criação das principais funcionalidades dos seus aplicativos. Quando uma instância do aplicativo é executada, a classe Bootstrap/App garante o tratamento necessário das solicitações web, simplificando o processo de desenvolvimento e promovendo uma base de código mais organizada.

Migrações padrão consolidadas para maior eficiência

Com o Laravel 11, você terá uma revisão das migrações padrão. Nas versões anteriores, de 2014 a 2019, havia várias migrações padrão espalhadas por vários arquivos. Enquanto isso, a versão mais recente condensou esses arquivos em apenas dois, oferecendo aos desenvolvedores uma experiência mais organizada e fácil de usar.

Diminuir o número de arquivos de migração padrão torna mais simples acessar e gerenciar as migrações criadas, clarifica as estruturas de banco de dados e minimiza as chances de confusão e erros.

Além disso, com uma configuração de migração padrão mais limpa e direta, você pode alocar mais tempo para se concentrar nos requisitos específicos dos seus projetos em vez de lidar com as complexidades dos arquivos de migração padrão.

As migrações padrão otimizadas do Laravel 11 contribuem para uma experiência de desenvolvimento mais suave, reforçando a reputação da estrutura de priorizar a simplicidade e a facilidade de uso.

PHP 8.2: O novo padrão para o Laravel 11

Uma mudança significativa no Laravel 11 é a definição do PHP 8.2 como requisito mínimo. Agora, o Laravel 11 adota o PHP 8.2 como base, olhando já para o futuro com o PHP 8.3. Esse alinhamento com as novidades do ecossistema PHP assegura que o Laravel se mantenha atualizado com os recursos e melhorias mais recentes  do PHP.

Ao suportar as duas últimas versões principais do PHP, o Laravel 11 melhora o desempenho, a segurança e a experiência do desenvolvedor. Ao tornar o PHP 8.2 o requisito mínimo, você protege seus projetos para o futuro e libera todo o potencial da linguagem.

Resumo

O Laravel 11 apresenta atualizações significativas que prometem aprimorar a experiência de desenvolvimento para você, sua equipe e a comunidade de desenvolvedores em geral. Otimizações de desempenho aprimoradas, suporte melhorado para as versões mais recentes do PHP e recursos de fluxo de trabalho simplificados tornam o desenvolvimento do PHP o mais suave e eficiente possível.

Esses aprimoramentos se traduzem em fluxos de trabalho de desenvolvimento mais suaves, melhor desempenho dos aplicativos e um processo de desenvolvimento mais eficiente, em geral. Os recursos avançados do nosso serviço de hospedagem de aplicativos, como dimensionamento automático, infraestrutura segura e desempenho aprimorado com as máquinas mais rápidas do Google Cloud Platform, proporcionam um ambiente ideal para a implantação de aplicativos Laravel 11.

Estamos ansiosos para ver quais aplicativos você desenvolverá com o Laravel 11 – e como a Kinsta apoiará o crescimento dos seus aplicativos Laravel.

Marcia Ramos Kinsta

I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 7 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.