Confira os novos recursos empolgantes do Laravel 5.8
Publicados: 2022-01-02Laravel, um framework PHP excepcional criado por Taylor Otwell em 2011, é o melhor entre todos os frameworks PHP. É acessível, poderoso, robusto e tece alguns aplicativos incríveis.
Este framework PHP facilita os desenvolvedores a implementar o padrão MVC abstraindo as funcionalidades complexas. As atualizações são imperativas e são apenas para a melhoria do ciclo de vida do aplicativo.
O Laravel aproximadamente lança uma atualização a cada 5-6 meses e este ano também, o Laravel lançou a versão 5.8 (março de 19) e não está disponível para uso. Você pode contratar um desenvolvedor Laravel para realizar a tarefa o mais rápido possível.
A melhoria contínua das versões anteriores trouxe alguns dos recursos interessantes para os desenvolvedores. Vamos dar uma olhada em alguns dos recursos incríveis que esta nova versão oferecerá
- Resolução de política automatizada
- Suporte Carbon 2.0
- Relacionamentos do tipo has-one-through Eloquent
- Proteção e hashing de token
- Cache TTL
- Configuração de fuso horário do agendador
- Artisan :: melhorias na chamada
- Métodos auxiliares de teste simulado / espião
- Melhorias no serviço artesanal
- Método eloquente de ordem superior
- dotenv 3.0
- Novos modelos de tratamento de erros
Resolução de política automatizada:
Versões anteriores do Laravel tinham modelos ou políticas em locais não convencionais e tinham que ser registradas na classe AuthServiceProvider. Nesta versão, os modelos e as políticas serão armazenados em locais convencionais.
Você não precisa mais registrar manualmente a política de autorização do modelo. Esta nova versão descobrirá automaticamente as políticas seguindo as convenções de nomenclatura padrão do Laravel.
Se as políticas que você deseja registrar estão localizadas em algum outro local, registre um retorno de chamada usando
Gate :: guessPolicyNamesUsing .
Você pode chamar esse método a partir do método booth de AuthServiceProvider da seguinte maneira:
use Illuminate \ Support \ Facades \ Gate;
Gate :: guessPolicyNamesUsing (function ($ modelClass) {
// retorna o nome da classe de política ...
});
Suporte Carbon 2.0:
Boas notícias para os desenvolvedores, agora você pode fazer seu aplicativo usar CarbonImmutable como padrão.
Este pacote estende a classe Date and Time do PHP e torna o trabalho com Date and Time muito fácil. A seleção da classe depende do usuário.
Relacionamento HasOneThrough Eloquent:
Este novo recurso é quase semelhante ao oferecido pelo Rails. Vamos dar um exemplo, suponha que temos três modelos, modelo Fornecedor, Conta e Histórico da conta. Em palavras simples, um fornecedor tem uma conta e uma conta tem um histórico de conta.
Em versões anteriores, para obter o histórico da conta, costumávamos escrever: $ fornecedor-> conta-> histórico da conta. Mas agora, por meio dessa relação eloqüente, você vai escrever imediatamente
$ histórico = $ fornecedor-> accountHistory
em todo o modelo de conta.
public function accountHistory ()
{
Return $ this-> hasOneThrough (AccountHistory :: class, Account :: class);
}
Hash do token de proteção do token:
Com o recurso de proteção de token, agora você pode salvar os tokens de API como hashes SHA-256. Anteriormente, o token da API era armazenado como tokens de texto simples, que agora foi aprimorado. Isso aumentou a segurança e o armazenamento dos tokens gerados.
Cache TTL:
A configuração de cache de minutos agora mudou para segundos. Essa melhoria é feita para um controle mais preciso e granular do tempo de expiração. O recurso está em conformidade com o padrão de biblioteca de cache PSR-16.
Além disso, lembre-se sempre de atualizar o cache do aplicativo para segundos.
// Laravel 5.7 - Armazene o item por 5 minutos ...
Cache :: put ('foo', 'bar', 10);
// Laravel 5.8 - Armazena o item por 5 segundos ...
Cache :: put ('foo', 'bar', 10);
Configuração de fuso horário do agendador:
Esta nova versão do Laravel permite que você personalize o fuso horário para uma tarefa listada usando o método de fuso horário.

$ agendar-> comando ('executar')
-> diário ()
-> às ('15: 00 ')
-> fuso horário ('América / Chicago');
Isso foi considerado uma tarefa incômoda na versão anterior, pois você tinha que fazer isso para todas as tarefas agendadas. Mas com isso, você só precisa definir um método chamado ScheduleTimezone no arquivo app / Console / Kernel.php.
As alterações serão anexadas a cada agendador da lista.
/ **
* Obtenha o fuso horário que deve ser usado por padrão para eventos programados.
*
* @return \ DateTimeZone | string | null
* /
função protegida scheduleTimezone ()
{
retornar 'América / Chicago';
}
Melhorias na chamada do artesão:
Você pode fazer o comando Artisan usando o método Artisan :: call nesta nova versão. Os comandos agora podem ser passados como uma matriz em uma única string, conforme mostrado abaixo:
Artisan :: call ('migrate: install --database = foo');Melhorias no serviço artesanal:
As versões anteriores tinham a porta padrão atribuída em 8000 na qual o aplicativo será executado. E se qualquer outro comando estiver sendo executado nesta porta, provavelmente falhará em servir o novo comando.
A nova versão fará a varredura da porta até 8009, permitindo que os desenvolvedores executem vários aplicativos ao mesmo tempo.
Métodos auxiliares de teste de simulação / espionagem:
O teste de simulação apenas ajudará o desenvolvedor a tornar o código mais limpo e legível. Os métodos mock e spy são adicionados à classe de caso de teste base do Laravel. Este método vinculará automaticamente a classe a ser simulada com o contêiner.
public function testBasicTest ()
{
$ this-> mock (TransactionService :: class, function ($ mock) {
$ mock-> shouldReceive ('find') -> once () -> with (1) -> andReturn (['id' => 1, 'name' => 'foo'])
});
}
Método mais eloquente de ordem ou onde:
Nas versões anteriores, definiríamos a consulta de escopo com “ou” em callbacks de encerramento. Com a introdução de um método de “ordem superior” ou Onde, você pode facilmente encadear essas consultas de escopo coletivamente sem usar fechamentos. Por exemplo:
$ users = App \ User :: emailVerified () -> orWhere-> active () -> get ();
dotenv 3.0:
Para gerenciar o novo arquivo .env do seu projeto, o Laravel 5.8 irá suportar o novo dotenv 3.0. Este novo dotenv 3.0 oferece suporte a strings de várias linhas e espaço em branco no final das strings. Esse recurso seria de grande ajuda quando as chaves de API de várias linhas são necessárias para segurança.
Novos modelos de página de erro:
Novas páginas de erro são introduzidas com designs muito minimalistas, adequados para uma ampla variedade de sites e aplicativos. É ainda possível personalizar as páginas de erro ou importar a página de erro projetada anteriormente.
Existem muitas empresas de desenvolvimento do Laravel para o desenvolvimento de aplicativos. Esta nova versão é um tesouro de alguns dos recursos incríveis. O conteúdo acima listou algumas das melhorias notáveis e recursos estendidos na nova versão do Laravel 5.8.
Alguns dos recursos podem ser integrados aos sites para torná-los mais funcionais e fáceis de usar.
Para atualizar seu aplicativo em execução para a versão 5.8 do Laravel , você pode verificar o guia de atualização e as notas de lançamento no site oficial.
