Pratique
Les nouveautés de Laravel 13
Les nouveautés de Laravel 13 qui ont leur exercice, mineure après mineure : validation, files d'attente, stockage, collections et tests.
Laravel publie une version mineure presque chaque semaine, et chacune ajoute quelques API. Cette page les range toutes sous Laravel 13 ; chaque exercice indique la mineure qui a introduit la sienne. Le principe ne change pas : on part du code qu'on écrivait avant, et on le réécrit avec la nouveauté. Une règle array_keys remplace une closure de validation, un disque read-through migre des fichiers au fil des lectures, chunkBy() regroupe des éléments voisins sans boucle, #[DebounceFor] ne traite que le dernier événement d'une rafale, et les faux Mail et Notification savent vérifier qu'un envoi n'a eu lieu qu'une fois.
Cette page rassemble les nouveautés qui ont un exercice, pas tout ce que les mineures ont apporté, et elle s'enrichit au fil des versions. Les tests vérifient que le comportement attendu tient une fois le code réécrit.
- Compter les lignes de plusieurs tables en une assertion assertDatabaseCount() accepte un tableau : le nombre de lignes attendu dans chaque table, vérifié en une seule assertion. TestsBase de données Faire l'exercice
- Relire les colonnes calculées par la base avec #[Refreshes] Un modèle marqué #[Refreshes] relit, après chaque écriture, les colonnes que la base remplit elle-même : valeur par défaut, colonne générée. Eloquent Faire l'exercice
- Passer un fichier d'un disque à l'autre avec moveToDisk() copyToDisk() et moveToDisk() font passer un fichier d'un disque à un autre en flux, sans le charger en mémoire. Stockage Faire l'exercice
- Ne traiter que le dernier événement d'une rafale avec #[DebounceFor] Un écouteur mis en file avec #[DebounceFor] attend la fin de la rafale et ne traite que le dernier événement, là où ShouldBeUnique gardait le premier. Files d'attenteÉvénements Faire l'exercice
- Migrer des fichiers au fil des lectures avec read-through Un disque read-through lit le nouveau stockage, se replie sur l'ancien et recopie ce qu'il y trouve : la migration se fait toute seule. Stockage Faire l'exercice
- Vérifier qu'un mail ne part qu'une fois assertSentOnce() et assertSentOnDemandOnce() : les faux Mail et Notification disent enfin « exactement une fois » en un mot. TestsMailNotifications Faire l'exercice
- Restreindre les clés d'un tableau avec array_keys Une règle de validation pour « ce tableau ne contient que ces clés » : plus de closure qui compare array_keys() à une liste. Validation Faire l'exercice
- Regrouper les éléments voisins avec chunkBy() Les messages consécutifs d'un même auteur se regroupent en une ligne, sans boucle ni variable de suivi. Collections Faire l'exercice