En utilisant ce site, vous acceptez la Politique de confidentialité et les Conditions Générales de Vente.
Accepter
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact
En cours de lecture : La sortie de Laravel MongoDB 5.0
Partager
Notification Voir mes signets
Dernières actualités
Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
Illustration d’un cerveau connecté à une intelligence artificielle, symbolisant la recherche contre Alzheimer
L’IA dévoile une cause possible d’Alzheimer et identifie une piste thérapeutique prometteuse
Intelligence Artificielle
Faux plugin de sécurité WordPress injectant du malware dans un site
Alerte : Un faux plugin de sécurité WordPress utilisé pour propager un malware
Cybersécurité
Aa
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Aa
Recherche
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
    • Qui sommes-nous
    • Initiatives
    • Réalisations
    • Formations
    • Recrutement
    • Contact
Suivez-nous
  • Personnaliser mes sujets d’intérêts
  • Mes signets
© 2023 BBND All Rights Reserved.
Le Blog de BBND – Actualités et nouvelles tendances du web > Tous les articles > Data > La sortie de Laravel MongoDB 5.0
DataDéveloppement Web

La sortie de Laravel MongoDB 5.0

Hamza L.
De Hamza L. 25 octobre 2024
Partager
6 min de lecture
Laravel mangodb 5
Partager

La version 5.0 de l’intégration officielle de MongoDB pour Laravel est désormais disponible, introduisant des changements majeurs qui alignent mieux cette intégration avec les conventions de Laravel. Pour les développeurs déjà familiers avec Eloquent, cette mise à jour rend l’utilisation de MongoDB plus fluide et intuitive. Explorons les nouvelles fonctionnalités, les améliorations, et les exemples de code associés à cette mise à jour majeure.

MongoDB annonce la version 5.0 de la bibliothèque Laravel sur X.

Quelles sont les nouveautés ?

Alias de l’ID

Dans les versions précédentes, les développeurs devaient définir manuellement la clé primaire MongoDB (_id) dans leurs modèles Eloquent. Par exemple, il était courant de voir ceci dans vos modèles :

class User extends Eloquent {
    protected $primaryKey = '_id';
}

Avec la version 5.0, cet aliasing est désormais automatique. Vous pouvez simplement utiliser $model->id au lieu de $model->_id, ce qui simplifie considérablement le code et l’alignement avec les conventions Laravel.

Voici un exemple plus clair :

// Ancienne manière
$user = User::find('615f9a7be1b14f5862a213c7');
echo $user->_id;

// Nouvelle manière avec Laravel MongoDB 5.0
$user = User::find('615f9a7be1b14f5862a213c7');
echo $user->id; // Alias automatique

Cela réduit la complexité et élimine la redondance d’ajouter manuellement une clé primaire MongoDB dans chaque modèle.

Amélioration de la gestion des dates

Une autre grande amélioration concerne la gestion des objets DateTimeInterface, y compris Carbon. Lorsque vous insérez ou mettez à jour des données, toutes les dates seront automatiquement converties en format UTCDateTime de MongoDB. De même, lors de la récupération des données, MongoDB convertira automatiquement ses objets UTCDateTime en dates Carbon avec le fuseau horaire par défaut de Laravel.

Cela signifie que vous n’avez plus besoin de définir manuellement des castings Eloquent pour les dates. Voici un exemple :

// Insertion de données avec Carbon
$post = new Post();
$post->title = "Nouveau Post";
$post->created_at = Carbon::now();
$post->save();

// MongoDB convertit automatiquement 'created_at' en UTCDateTime

Lors de la récupération des données, vous obtiendrez des objets Carbon qui respectent le fuseau horaire de Laravel.

// Récupération des données
$post = Post::find($id);
echo $post->created_at->format('Y-m-d H:i:s'); // Affiche l'heure dans le fuseau horaire Laravel

Cette gestion automatique simplifie les manipulations de dates dans MongoDB, tout en restant cohérente avec l’approche Laravel pour les dates.

Résultats des requêtes sous forme d’objets

Une modification importante concerne la manière dont les résultats des requêtes sont renvoyés. Auparavant, MongoDB renvoyait des tableaux associatifs. Désormais, les résultats sont renvoyés sous forme d’objets stdClass, ce qui permet d’accéder aux propriétés comme vous le feriez avec des objets PHP normaux.

Exemple de code avant la 5.0 :

// Ancienne manière avec des tableaux associatifs
$user = User::find($id);
echo $user['name'];

Nouvelle approche :

// Nouvelle manière avec des objets stdClass
$user = User::find($id);
echo $user->name;

Cela rend l’interaction avec les données plus fluide et cohérente avec le reste de l’écosystème Laravel.

Simplification de la personnalisation des modèles

Une autre mise à jour notable concerne la manière dont vous personnalisez les collections dans vos modèles Eloquent. Dans les versions antérieures, vous deviez définir $collection pour spécifier le nom de la collection MongoDB. Désormais, cela a été remplacé par $table, ce qui est plus aligné avec la convention Laravel.

Exemple :

class Post extends Eloquent {
    // Ancienne manière
    protected $collection = 'posts_collection';

    // Nouvelle manière avec Laravel MongoDB 5.0
    protected $table = 'posts_collection';
}

Cette modification réduit la confusion entre les terminologies MongoDB et Laravel, créant ainsi une expérience de développement plus homogène.

Suppression des providers de services spécifiques MongoDB

Avec cette mise à jour, plusieurs providers de services spécifiques à MongoDB ont été retirés. Il s’agit notamment des fournisseurs suivants :

  • Auth\PasswordResetServiceProvider
  • MongoDBQueueServiceProvider
  • Queue\Failed\MongoFailedJobProvider

Ces fournisseurs ne sont plus nécessaires, car la classe MongoDB\Connection est désormais pleinement compatible avec les classes de Laravel. Cela signifie que MongoDB fonctionne de manière transparente avec les fonctionnalités existantes de Laravel, telles que les jobs, la gestion des échecs de jobs, et l’authentification.

Mise à jour des connexions et des logs

La classe MongoDB\Laravel\Connection a été remplacée par MongoDB\Connection, ce qui améliore la compatibilité avec les composants internes de Laravel. De plus, les logs de requêtes utilisent désormais les événements de monitoring de MongoDB, ce qui offre une meilleure visibilité et traçabilité des opérations MongoDB dans votre application Laravel.

Installation et Configuration de Laravel MongoDB 5.0

La bibliothèque MongoDB peut être installée en utilisant cette ligne de commande :

composer require mongodb/laravel-mongodb:^5.0

Vous devriez également aimer

Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?

Tailwind CSS v4.0 : La révolution de la productivité Front-End

JavaScript Temporal : La révolution de la gestion des dates enfin arrivée

Pourquoi TypeScript est l’avenir du développement web

VSCode et npm : la menace des extensions frauduleuses

TAG : laravel, mongodb
Partager cet article
Facebook Twitter LinkedIn Copier le lien Imprimer
Qu´en avez-vous pensé ?
Ennuyant0
Triste0
Révoltant0
Drôle0
Accablant0
Plaisant0
Malin0
Surprenant0
Waouh0
Article précédent Pi-Hole : Bloquez les pubs et trackers sur votre réseau
Article suivant Les métiers du numérique les plus recherchés en 2024

Restez connecté

Facebook Like
Twitter Suivre
Instagram Suivre
Youtube S´inscrire
banner banner
Faites confiance à BBND
Développez tous vos projets digitaux grâce à une équipe d'experts
En savoir plus

Dernières actualités

Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
Illustration d’un cerveau connecté à une intelligence artificielle, symbolisant la recherche contre Alzheimer
L’IA dévoile une cause possible d’Alzheimer et identifie une piste thérapeutique prometteuse
Intelligence Artificielle
//

Le blog BBND
Actualités et nouvelles tendances du numérique

Catégories news

  • Actualités Numériques
  • Blockchain
  • Business Intelligence
  • Cybersécurité
  • Data
  • Développement Web
  • Intelligence Artificielle
  • Hardware
  • Mobile
  • Technologie
  • Web Design
  • Web Marketing

Notre société

  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact

Liens utiles

  • Mentions légales
  • CGV
  • Politique de confidentialité

Nos services

  • Développement web/mobile/desktop
  • SEO
  • Stratégie de communication & Community management
  • Audit d’ergonomie
  • Solutions de cybersécurité
  • Outils de cybersécurité
  • E-droit & E-réputation
  • Innovation de service & Innovation technologique
  • Intelligence Artificielle & Business Intellligence
  • Design graphique
  • Jeux mobile
  • Motion design
  • Impression tout support
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Suivez-nous

© 2023 BBND. All Rights Reserved.

Un projet digital ?

Notre équipe d'experts couvre de larges domaines du numérique

Contactez-nous pour nous en faire part !

Supprimé de la liste de lecture

Annuler
Welcome Back!

Sign in to your account

Mot de passe perdu ?