Découvrez les nouvelles fonctionnalités passionnantes de Laravel 5.8
Publié: 2022-01-02Laravel, un framework PHP exceptionnel créé par Taylor Otwell en 2011 est le meilleur de tous les framework PHP. Il est accessible, puissant, robuste et tisse des applications étonnantes.
Ce framework PHP permet aux développeurs d'implémenter le modèle MVC en faisant abstraction des fonctionnalités complexes. Les mises à jour sont impératives et ne servent qu'à améliorer le cycle de vie des applications.
Laravel publie environ une mise à jour tous les 5-6 mois et cette année aussi, Laravel a publié la version 5.8 (mars'19) et n'est pas disponible pour l'utilisation. Vous pouvez engager un développeur Laravel pour accomplir la tâche au plus tôt.
L'amélioration continue par rapport aux versions précédentes a apporté certaines des fonctionnalités intéressantes aux développeurs. Jetons un coup d'œil à certaines des fonctionnalités étonnantes que cette nouvelle version offrira
- Résolution de politique automatisée
- Prise en charge du carbone 2.0
- Relations éloquentes
- Garde de jetons et hachage
- TTL du cache
- Configuration du fuseau horaire du planificateur
- Artisan :: amélioration des appels
- Méthodes d'aide aux tests de simulation/espionnage
- Améliorations du service artisanal
- Méthode éloquente d'ordre supérieur
- dotenv 3.0
- Nouveaux modèles de gestion des erreurs
Résolution de politique automatisée :
Les versions antérieures de Laravel avaient des modèles ou des stratégies dans des emplacements non conventionnels et devaient être enregistrées dans la classe AuthServiceProvider. Dans cette version, les modèles et les politiques seront stockés dans des emplacements conventionnels.
Vous n'avez plus besoin d'enregistrer manuellement la politique d'autorisation du modèle. Cette nouvelle version découvrira automatiquement les politiques en suivant les conventions de nommage standard de Laravel.
Si les politiques que vous souhaitez enregistrer se trouvent dans un autre emplacement, enregistrez un rappel en utilisant
Gate::guessPolicyNamesUsing .
Vous pouvez appeler cette méthode à partir de la méthode stand d'AuthServiceProvider de la manière suivante :
utilisez Illuminate\Support\Facades\Gate ;
Gate::guessPolicyNamesUsing(function ($modelClass) {
// renvoie le nom de la classe de stratégie...
});
Prise en charge du carbone 2.0 :
Bonne nouvelle pour les développeurs, vous pouvez désormais faire en sorte que votre application utilise CarbonImmutable par défaut.
Ce package étend la classe Date et heure de PHP et rend le travail avec la date et l'heure très facile. Le choix de la classe dépend de l'utilisateur.
HasOneThrough Relation éloquente :
Cette nouvelle fonctionnalité est presque similaire à celle offerte par Rails. Prenons un exemple, supposons que nous ayons trois modèles, le modèle Fournisseur, Compte et Historique du compte. En termes simples, un fournisseur a un compte et un compte a un historique de compte.
Dans les versions précédentes, pour obtenir l'historique du compte, nous écrivions : $supplier->account->accountHistory. Mais maintenant à travers cette relation éloquente, vous allez tout de suite écrire
$history = $fournisseur->accountHistory
dans l'ensemble du modèle de compte.
fonction publique accountHistory()
{
Return $this->hasOneThrough(AccountHistory::class, Account::class);
}
Hachage de jeton de garde de jeton :
Avec la fonction de protection des jetons, vous pouvez désormais enregistrer les jetons d'API en tant que hachages SHA-256. Auparavant, le jeton de l'API était stocké sous forme de jetons en texte brut, ce qui a maintenant été amélioré. Cela a amélioré la sécurité et le stockage des jetons générés.
TTL du cache :
Le paramètre de mise en cache des minutes est maintenant passé aux secondes. Cette amélioration est faite pour un contrôle plus précis et granulaire du temps d'expiration. La fonctionnalité est conforme à la norme de bibliothèque de mise en cache PSR-16.
De plus, n'oubliez pas de toujours mettre à jour la mise en cache de votre application en quelques secondes.
// Laravel 5.7 - Stocke l'objet pendant 5 minutes...
Cache::put('foo', 'bar', 10);
// Laravel 5.8 - Stocke l'objet pendant 5 secondes...
Cache::put('foo', 'bar', 10);
Configuration du fuseau horaire du planificateur :
Cette nouvelle version de Laravel vous permet de personnaliser le fuseau horaire d'une tâche répertoriée à l'aide de la méthode du fuseau horaire.

$schedule->command('run')
->tous les jours()
->à('15:00')
->timezone('Amérique/Chicago');
Cela était considéré comme une tâche fastidieuse dans la version précédente, car vous deviez le faire pour chaque tâche planifiée. Mais avec cela, il ne vous reste plus qu'à définir une méthode appelée ScheduleTimezone dans le fichier app/Console/Kernel.php.
Les modifications seront ensuite associées à chaque planificateur de la liste.
/**
* Obtenez le fuseau horaire qui doit être utilisé par défaut pour les événements programmés.
*
* @return \DateTimeZone|string|null
*/
fonction protégée scheduleTimezone()
{
retourner « Amérique/Chicago » ;
}
Améliorations de l'appel d'artisan :
Vous pouvez créer une commande Artisan en utilisant la méthode Artisan::call dans cette nouvelle version. Les commandes peuvent maintenant être passées sous forme de tableau dans une seule chaîne comme indiqué ci-dessous :
Artisan::call('migrate:install --database=foo');Améliorations du service artisanal :
Les versions précédentes avaient le port par défaut assigné en 8000 sur lequel l'application s'exécutera. Et si une autre commande est en cours d'exécution sur ce port, elle ne parviendra probablement pas à servir la nouvelle commande.
La nouvelle version analysera le port jusqu'à 8009, permettant aux développeurs d'exécuter plusieurs applications en même temps.
Méthodes d'aide aux tests simulés/espions :
Les tests simulés ne feront qu'aider le développeur à rendre le code plus propre et lisible. Les méthodes de simulation et d'espionnage sont ajoutées à la classe de cas de test de base Laravel. Cette méthode liera automatiquement la classe à moquer avec le conteneur.
fonction publique testBasicTest()
{
$this->mock(TransactionService::class, function($mock){
$mock->shouldReceive('find')->une fois()->with(1)->andReturn(['id' => 1, 'name' => 'foo'])
});
}
Méthode éloquente d'ordre supérieur ou d'où :
Dans les versions précédentes, nous définissions la requête étendue avec « ou » dans les rappels de fermeture. Avec l'introduction d'une méthode orWhere « d'ordre supérieur », vous pouvez facilement enchaîner ces requêtes d'étendue collectivement sans utiliser de fermetures. Par example:
$users = App\User::emailVerified()->orWhere->active()->get();
dotenv 3.0 :
Pour gérer le nouveau fichier .env de votre projet, Laravel 5.8 prendra en charge le nouveau dotenv 3.0. Ce nouveau dotenv 3.0 prend en charge les chaînes multilignes et les espaces blancs à la fin des chaînes. Cette fonctionnalité serait d'une grande aide lorsque des clés API multilignes sont requises pour la sécurité.
Nouveaux modèles de page d'erreur :
De nouvelles pages d'erreur sont introduites avec des conceptions très minimalistes qui conviennent à un large éventail de sites Web et d'applications. Il est même possible de personnaliser les pages d'erreur ou d'importer la page d'erreur précédemment conçue.
Il existe de nombreuses sociétés de développement Laravel pour le développement d'applications. Cette nouvelle version est un trésor de certaines des fonctionnalités étonnantes. Le contenu ci-dessus répertorie certaines des améliorations notables et des fonctionnalités étendues dans la nouvelle version Laravel 5.8.
Certaines fonctionnalités peuvent être facilement intégrées aux sites Web pour les rendre plus fonctionnels et conviviaux.
Pour mettre à niveau votre application en cours d'exécution vers la version 5.8 de Laravel , vous pouvez consulter le guide de mise à niveau et les notes de version sur le site officiel.
