Laravel tem sido uma das estruturas PHP mais populares por muitos anos. É elegante, escalável, tornou-se uma das frameworks de fato para desenvolvedores e empresas que trabalham com PHP. Agora, o Laravel 9 está a caminho com uma tonelada de novas funcionalidades.
No passado, novos lançamentos têm acontecido a cada seis meses, resultando em uma quantidade razoável de perguntas, comentários duros e confusão sobre o novo processo de lançamento de Laravel. Com o lançamento do Laravel 9, a estrutura passou para um grande ciclo de lançamento de 12 meses e será lançado em janeiro de 2022.
Este artigo explora os principais recursos do Laravel 9. Além disso, também vamos detalhar como atualizar para o Laravel 9 e começar a desenvolver aplicações web.
O que é Laravel?
Laravel é um framework de aplicação web PHP de código aberto conhecido pela sua elegante sintaxe. É uma framework MVC para construir aplicações web simples a complexas usando a linguagem de programação PHP, e segue estritamente o padrão arquitetônico MVC (model-view-controller).
Se você ainda não usou Laravel, você pode ler sobre o queé Laravel e ver nossa lista de excelentes tutoriais sobre Laravel para começar.
Principais recursos do Laravel
Se você é novo neste quadro, nós cobrimos alguns dos melhores recursos do Laravel para lhe dar uma melhor compreensão.
Eloquent ORM
O mapeador objeto-relacional (ORM) para Laravel é chamado Eloquent, e é uma das melhores características da Laravel, pois permite uma interação perfeita com o modelo de dados e banco de dados de escolha.
Com Eloquent, Laravel abstrai cada obstáculo envolvendo interação e escrita de consultas SQL complexas para acessar dados do seu banco de dados.
CLI Artisan
A CLI Artisan, ou linha de comando, é outro aspecto vital de Laravel. Com ele, você pode criar ou modificar qualquer parte de Laravel a partir da linha de comando, sem ter que navegar por pastas e arquivos.
Com Artisan, você pode até interagir com sua base de dados diretamente de sua linha de comando usando Laravel Tinker – tudo isso sem instalar um cliente de base de dados.
Arquitetura MVC
A natureza arquitetônica MVC de Laravel torna a linguagem relatável e adaptável porque segue um padrão de desenvolvimento web prevalecente com melhorias contínuas e significativas.
Laravel vai forçar você a aprender e entender o padrão arquitetônico MVC, popular e usado em quase todas as estruturas, como AdonisJS do JavaScript e ASP.NET MVC do C#.
Paginação automática
Se você já lutou com paginação em seus aplicativos, você entenderá o valor de ter sua paginação ordenada por um framework embutida.
Laravel resolve o problema da paginação através da construção de paginação automática que sai da caixa. Esta característica é uma das mais reconhecidas e elimina o trabalho envolvido na resolução do mistério da paginação por si mesmo.
Segurança
É essencial examinar as medidas de segurança de qualquer aplicação web que você esteja considerando usar, pois a falta de diligência pode resultar em perda de fundos ou mesmo seqüestro de seu site ou produto.
Laravel vem com muitas medidas de segurança em vigor devido à sua adesão aos princípios de segurança da OWASP. Desde o pedido de falsificação cruzada (CSRF) até a injeção SQL, a Laravel tem uma solução integrada para tudo isso.
O que esperar do Laravel 9
Programado para ser lançado até setembro de 2021, o Laravel 9 foi transferido para janeiro de 2022, tornando-o o primeiro lançamento de suporte de longo prazo (LTS) a ser introduzido após o ciclo de lançamento de 12 meses. Este atraso resulta de muitas razões, que incluem mas não se limitam às seguintes:
- Laravel usa variedades de projetos comunitários e cerca de nove bibliotecas Symfony. No entanto, a Symfony está planejando o lançamento da versão 6.0 até novembro de 2021. O atraso permitirá à equipe da Laravel incorporar esta nova versão da Symfony como parte do Laravel 9.
- O atraso dará tempo à equipe para monitorar como Laravel interage com a nova versão da Symfony por dois meses. Também lhes dá espaço para corrigir quaisquer alterações ou bugs de quebra.
- Finalmente, adiar o lançamento do Laravel 9 posiciona melhor a equipe Laravel para futuros lançamentos anuais. Isso dará à equipe dois meses de tempo de rampa adicional após os lançamentos da Symfony.
Por estas razões, você pode ver que o atraso no seu lançamento vale a pena esperar.
Novas funcionalidades no Laravel 9
Agora, vamos explorar a lista de funcionalidades e melhorias que você deve esperar no próximo grande lançamento de Laravel.
Requisitos Mínimos de PHP
Primeiro e mais importante, Laravel 9 requer o mais recente PHP 8 e PHPUnit 8 para testes. Isso porque o Laravel 9 vai usar o mais novo Symfony v6.0, que também requer o PHP 8.
O PHP 8 vem com melhorias e funcionalidades significativas, desde a compilação do JIT até a promoção de propriedades de construtores. Você pode explorar os diferentes benchmarks das versões do PHP e aprender como atualizar para o PHP 8 mais recente aqui no nosso blog.
Migração anónima de Stub
Laravel define para fazer da migração anônima de stub o comportamento padrão quando você executa o comando de migração popular:
php artisan make:migration
O recurso de migração anônima de stub foi lançado pela primeira vez no Laravel 8.37 para resolver este problema do Github. O problema é que múltiplas migrações com o mesmo nome de classe podem causar problemas ao tentar recriar o banco de dados a partir do zero. O novo recurso de migração de stub elimina colisões de nomes de classes de migração.
Do Laravel 8.37, o framework agora suporta arquivos de migração de classe anônima, e no Laravel 9, será o comportamento padrão.
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('people', function (Blueprint $table)
{
$table->string('first_name')->nullable();
});
}
};
Nova interface do Query Builder
Com o novo Laravel 9, o tipo hinting é altamente confiável para refatoração, análise estática e autocompletar código em seus IDEs. Isso se deve à falta de uma interface compartilhada ou herança entre Query\Builder, Eloquent\Builder e Eloquent\Relation. Ainda assim, com o Laravel 9, os desenvolvedores agora podem aproveitar a nova interface do construtor de consultas para a sugestão de tipo, refatoração e análise estática.
<?php
return Model::query()
->whereNotExists(function($query) {
// $query is a Query\Builder
})
->whereHas('relation', function($query) {
// $query is an Eloquent\Builder
})
->with('relation', function($query) {
// $query is an Eloquent\Relation
});
Esta versão adicionou a nova Illuminate\Contracts\Database\QueryBuilder interface
, bem como a Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder
que irá implementar a interface no lugar do método mágico __call
.
Função string do PHP 8
Como Laravel 9 tem como alvo o PHP 8, Laravel fundiu este PR, sugerindo o uso das mais novas funções de string do PHP 8.
Estas funções incluem o uso de str_contains()
, str_starts_with()
, e str_ends_with()
internamente na classe \Illuminate\Support\Str
.
As características e melhorias do Laravel 9 listadas acima são um rápido olhar sobre o que está por vir. Com certeza vai trazer muitas correções de bugs, recursos e, é claro, muitas mudanças de quebra.
Como instalar o Laravel 9
Se você quiser começar a testar o Laravel 9 para fins de desenvolvimento e testes, você pode facilmente instalá-lo e executá-lo em sua máquina local.
Laravel 9 suporta PHP versão 8, então se você está planejando testá-lo, certifique-se de verificar sua versão PHP ou iniciar uma nova instalação.
Você pode descobrir mais detalhes sobre o lançamento através do Packagist.
Para instalar o Laravel 9 usando o compositor, execute o seguinte:
composer create-project --prefer-dist laravel/laravel laravel-9-dev dev-develop
O comando acima irá criar um novo projeto Laravel com o nome de projeto laravel-9-dev
, usando o último Laravel 9, que, como sabemos, ainda está em desenvolvimento (daí o dev-develop
).
O segundo método é usar o Laravel global CLI para criar um novo projeto Laravel e optar por criar seu novo projeto a partir do ramo de desenvolvimento.
Insira o seguinte comando para criar um novo projeto Laravel 9:
laravel new laravel-9-dev --dev
Agora que você instalou o Laravel 9, você pode entrar no novo diretório (laravel-dev) e executar o comando artesanal para verificar a versão:
cd laravel-9-dev
php artisan --version
Deve apresentar-lhe a versão de desenvolvimento do Laravel 9. Voilà!
Resumo
Laravel é uma estrutura PHP convincente que está ganhando mais atenção entre os desenvolvedores. Seu próximo grande lançamento (Laravel 9) é o primeiro após um ciclo de lançamento de 12 meses, e nós já podemos ver que ele irá introduzir novas funcionalidades “suculentas”.
É esta a lista completa de novas funcionalidades? Provavelmente não, pois a equipe do Laravel provavelmente anunciará novas funcionalidades antes da data de lançamento. Portanto, certifique-se de marcar este artigo nos favoritos, pois iremos cobri-los em futuras atualizações.
Agora é a sua vez! O que você mais anseia com Laravel 9? Informe-nos na seção de comentários!
Deixe um comentário