Un aperçu de la dernière version


Version Laravel Prise en charge des versions PHP Date de sortie Corrections de bugs jusqu’à Correctifs de sécurité jusqu’au
8 7.3 – 8.1 8 septembre 2020 26 juillet 2022 24 janvier 2023
9 8.0 – 8.1 7 février 2023 8 août 2023 6 février 2024
dix 8.1 7 février 2023 6 août 2024 4 février 2025
11 8.2 6 février 2024 5 août 2025 4 février 2025

Quoi de neuf dans Laravel 10 ?

Laravel 10, une mise à jour majeure de la version de Laravel, devrait sortir le 7 février 2023. Cette mise à jour apportera de nombreux nouveaux changements, et nous en avons couvert certains ci-dessous :

Amélioration de la vitesse et de la fiabilité du routage

Laravel 10 améliorera la vitesse et la fiabilité du routage car il a optimisé le composant de routage pour minimiser le nombre d’appels de méthode et d’accès aux propriétés, réduisant ainsi les frais généraux et améliorant la vitesse. De plus, dans Laravel 10, la gestion des routes de groupe imbriquées a été améliorée pour réduire la complexité et améliorer la fiabilité.

Mise en cache des routes l’implémentation a été optimisée pour réduire la surcharge et améliorer les performances lors de la génération du cache de route. De plus, la détection automatique du modèle d’espace de noms a été modifiée pour minimiser la surcharge et améliorer les performances lors de la résolution des liaisons de modèle.

Ces améliorations rendent le routage de Laravel 10 plus rapide et plus fiable, offrant une meilleure expérience aux utilisateurs finaux de votre application.

Capacités de planification de tâches intégrées dans les commandes de la console

Laravel 10 est livré avec des capacités améliorées de planification des tâches dans les commandes de la console. Les améliorations incluent :

  • Syntaxe améliorée pour la définition des tâches de planification dans les commandes de la console et possibilité d’utiliser des planifications de tâches dans plusieurs commandes.
  • Prise en charge améliorée de la planification des tâches à des intervalles personnalisés.
  • Amélioration de la gestion des tâches avec la possibilité de répertorier, d’inspecter et de supprimer les tâches planifiées.
  • Amélioration de l’exécution des tâches avec une meilleure journalisation et une meilleure gestion des erreurs.

Ces améliorations de Laravel 10 facilitent les tâches de planification répétitives dans votre application et garantissent leur bon déroulement.

Modèles d’interface utilisateur CSS Tailwind de Laravel Jetstream

Le Laravel Jetstream Les modèles d’interface utilisateur basés sur CSS Tailwind ont été améliorés pour fournir une interface plus moderne et visuellement attrayante pour votre application. Les améliorations incluent :

  • De meilleures options de style et de mise en page pour correspondre à la marque et au design de votre application.
  • La prise en charge améliorée de la conception réactive garantit que votre application a fière allure sur tous les appareils et toutes les tailles d’écran.
  • Options de navigation améliorées, y compris la possibilité de personnaliser la barre de navigation supérieure et de créer des pages personnalisées.
  • La prise en charge améliorée de l’internationalisation vous permet de traduire facilement votre application dans différentes langues.

Ces améliorations facilitent la création d’une interface utilisateur moderne et visuellement attrayante pour votre application Laravel 10, contribuant à améliorer l’expérience utilisateur et à rendre votre application plus attrayante et accessible.

Laravel 10 Skeleton utilise des types natifs au lieu de Docblocks

Le squelette de Laravel 10 utilise des types PHP natifs pour les arguments de fonction et renvoie des valeurs au lieu de s’appuyer sur des blocs PHPDoc pour l’indication de type. Cela rend le code plus concis et plus facile à comprendre et améliore les performances en réduisant la quantité d’analyse requise.

L’utilisation de types PHP natifs facilite également l’utilisation du nouveau système de type introduit dans PHP 7.4, qui fournit une vérification de type plus précise et de meilleures performances. Ce changement fait partie des efforts continus de Laravel pour moderniser sa base de code et améliorer l’expérience des développeurs.

Laravel 10 utilise des règles de validation invocables par défaut

Laravel 10 est livré avec des règles de validation invocables qui vous permettent de définir la logique de validation en tant que classe unique et autonome. Cela facilite la réutilisation de la logique de validation dans plusieurs demandes de formulaire et contrôleurs et aide à garder votre code plus organisé et maintenable.

Pour utiliser des règles de validation invocables, définissez une classe qui implémente l’interface Illuminate\Contracts\Validation\Rule, puis utilisez le nom de la classe comme règle de validation dans votre demande de formulaire ou votre contrôleur. Laravel instancie automatiquement la classe et exécute la logique de validation, simplifiant votre code et améliorant sa lisibilité.

<?php

namespace App\Rules;

use Illuminate\Contracts\Validation\Rule;

class CheckPasswordStrength implements Rule
{
    public function passes($attribute, $value)
    {
        // Define your validation logic here. For example:
        return preg_match('/^.*(?=.{3,})(?=.*(a-zA-Z))(?=.*(0-9)).*$/', $value);
    }
    public function message()
    {
        return 'The :attribute must be at least 3 characters long, contain a letter and a number.';
    }
}

Prise en charge de Laravel 10 gouttes pour PHP 8.0

Oui c’est correct. Laravel 10 a abandonné le support pour PHP 8.0. Cela signifie que si vous souhaitez utiliser Laravel 10, vous devez utiliser une version plus récente de PHP, telle que PHP 8.1 ou plus tard.

La suppression de la prise en charge des anciennes versions de PHP est une pratique courante dans la communauté Laravel, car elle permet au framework de tirer parti des dernières fonctionnalités et améliorations des performances de la dernière version de PHP. Cela aide les utilisateurs à obtenir une expérience meilleure et plus rationalisée.

Ainsi, si vous utilisez actuellement la version PHP 8.0 et souhaitez utiliser Laravel 10, vous devrez mettre à niveau votre installation PHP vers une version plus récente. Cela peut nécessiter des mises à jour de votre code ou de packages tiers. Il est donc important de planifier à l’avance et de tester soigneusement avant d’apporter des modifications à votre environnement de production.

Dépréciations et changements dans Laravel 10

En plus des fonctionnalités améliorées, Laravel 10 a également introduit quelques dépréciations et modifications. Les principaux incluent :

dispatchNow() est remplacé par dispatchSync()

Laravel 10 a remplacé le méthode dispatchNow avec dispatchSync. La méthode dispatchSync fonctionne de la même manière que dispatchNow mais offre plus de contrôle sur le processus d’exécution du travail et de meilleures performances.

Voici un exemple d’utilisation de la fonction dispatchSync dans Laravel 10 :

dispatch(new SendEmailJob($data))->dispatchSync();

La méthode dispatchSync distribue un travail immédiatement, contourne le système de file d’attente et exécute le travail de manière synchrone dans le processus en cours.

La principale différence entre dispatchSync et dispatchNow est que dispatchSync utilise le connecteur de synchronisation au lieu du connecteur de file d’attente par défaut.

Vous pouvez toujours utiliser dispatchNow en appelant la méthode sur une instance du travail que vous souhaitez répartir :

dispatch(new SendEmailJob($data))->dispatchNow();

Abandon de la façade de notification aux événements de modèle notifiables

Dans Laravel 10, le Tableau des notifications et le Façade des notifications ont été abandonnés au profit de l’utilisation Événements de modèle notifiables. Avec les événements de modèle notifiables, les notifications sont désormais envoyées directement à partir du modèle plutôt que d’être stockées dans la base de données et envoyées via la façade de notification.

Voici un exemple d’utilisation des événements de modèle Notifiable dans Laravel 10 :

use Illuminate\Notifications\Notifiable;

class User extends Model
{
use Notifiable;

public function routeNotificationFor($driver)
{
if ($driver === 'mail') {
return $this->email;
}
}
}

$user = User::first();
$user->notify(new UserNotification());


Supprimer la méthode Route ::home obsolète

Laravel 10 a également déprécié la méthode Route :: home. Dans les versions antérieures de Laravel 10, la méthode Route :: home définissait une route qui pointe vers la page d’accueil de l’application.

Voici un exemple de la façon dont vous pouvez définir un itinéraire domestique dans Laravel 10 :

Route::get('/', function () {
    return view('welcome');
});

Supprimer les assertTimesSent obsolètes

La version antérieure de Laravel utilisait la méthode assertTimesSent pour vérifier si un certain nombre de notifications avaient été envoyées à l’aide du système de notification Laravel. Cependant, Laravel 10 recommande de tester les notifications en utilisant la méthode assertSent avec la méthode times.

Voici un exemple d’utilisation de la méthode assertSent pour tester les notifications dans Laravel 10 :

Notification::abc();

Notification::send($users, new UserNotification());

Notification::assertSent(UserNotification::class, function ($notification, $channels) use ($users) {
    return $notification->user->id === $users->first()->id;
})->times(count($users));

Utiliser la fonction array_is_list native de PHP 8.1

La fonction array_is_list détermine si un tableau est une liste, définie comme un tableau avec des clés entières consécutives commençant à 0. Cette fonction peut être utilisée en conjonction avec d’autres fonctions de tableau pour simplifier les opérations sur les tableaux.

Voici un exemple d’utilisation de la fonction array_is_list dans Laravel 10 :

$array = (1, 2, 3, 4);

if (array_is_list($array)) {
    echo 'This is a list.';
} else {
    echo 'This is not a list.';
}

En utilisant les dernières fonctionnalités de PHP 8.1, Laravel 10 offre aux développeurs un moyen plus moderne et efficace de travailler avec des tableaux dans leurs applications.

Comment se préparer pour Laravel 10 ?

Avant de mettre à jour vers Laravel 10, il est important de consulter les notes de publication et toutes les modifications susceptibles d’affecter votre application. Cela vous aidera à comprendre ce qui a changé dans la dernière version de Laravel et à planifier les mises à jour nécessaires de votre code. Effectuez les tâches suivantes :

Vérifiez la version requise de PHP: Laravel 10 nécessite PHP 8.1 ou une version ultérieure, vous devez donc vous assurer que vous utilisez la bonne version de PHP avant de passer à Laravel 10.

Sauvegardez votre application: Avant d’apporter des modifications majeures à votre application, il est conseillé de sauvegarder votre code et votre base de données. Cela vous donnera un filet de sécurité en cas de problème pendant le processus de mise à niveau.

Compatibilité Laravel 10: Assurez-vous que vos dépendances, telles que les packages tiers, sont compatibles avec Laravel 10. Vous devrez peut-être mettre à jour ou remplacer certaines de vos dépendances pour vous assurer que votre application continue de fonctionner comme prévu.

Arrêtez de perdre du temps sur les serveurs

Cloudways gère la gestion des serveurs pour vous afin que vous puissiez vous concentrer sur la création d’applications géniales et sur la satisfaction de vos clients.

Comment contribuer à Laravel 10

Laravel encourage ses utilisateurs à contribuer à son framework et au processus de développement. Mais avant de faire des contributions, il est crucial d’avoir une bonne compréhension du framework Laravel et de son fonctionnement.

Créez un fork du référentiel Laravel sur GitHub et clonez-le sur votre machine locale. Cela vous permettra d’apporter des modifications au code, de les renvoyer au référentiel principal pour examen et d’apporter des modifications au code.

Assurez-vous de suivre les normes de codage Laravel et les directives de contribution et testez vos modifications pour vous assurer qu’elles fonctionnent comme prévu et ne cassent aucune fonctionnalité existante.

Soumettre une demande de tirage au référentiel du framework Laravel, et demandez aux développeurs d’examiner et d’apporter des modifications à la plate-forme.

Emballer

Notez que Laravel 10 n’a pas encore été officiellement publié. Une fois que Laravel 10 est publié et mis à disposition sur la plateforme Cloudways, vous pouvez mettre à niveau votre application vers Laravel 10.

Avec 8% de part de marché, Laravel est un choix judicieux pour votre framework PHP. Nous avons couvert certaines des fonctionnalités de base attendues dans la prochaine version. Cependant, nous ne connaîtrions Laravel 10 dans toute sa splendeur qu’à la date de sortie, c’est-à-dire le 7 février 2023.

Quelles sont les nouvelles fonctionnalités de Laravel 10 ?

Les nouvelles fonctionnalités et modifications de Laravel 10 sont les suivantes :

  • Amélioration de la vitesse et de la fiabilité du routage
  • Capacités de planification de tâches intégrées dans les commandes de la console
  • Modèles d’interface utilisateur Tailwind alimentés par CSS de Jetstream
  • Skeleton utilisera des types natifs au lieu de docblocks
  • Utilisation de règles de validation invocables par défaut
  • Fin du support de PHP 8.0

Quelle est la dernière version de Laravel ?

Laravel 9 était la dernière version majeure sortie en février 2022. Maintenant, Laravel 10 devrait sortir le 7 février 2023.

Laravel 10 va-t-il être un LTS ?

Laravel 9 était la première version LTS (Long Term Support), et avec sa sortie, l’équipe de développement de Laravel a décidé d’annoncer des mises à jour sur un cycle annuel. Laravel 10 sortira le 7 février, avec ses corrections de bogues disponibles jusqu’au 6 août 2023 et les correctifs de sécurité disponibles jusqu’au 4 février 2024 2025.





Source link