Doctrine

Dev back

Doctrine, Symfony 7 & the Database Video Tutorial Screencast

Ce tutoriel vidéo aborde l'utilisation de Doctrine, un ORM puissant, en conjonction avec Symfony 7 pour gérer les bases de données. Il couvre les sujets tels que l'insertion et la mise à jour des entités, la génération de migrations pour les changements de schéma, et les requêtes pour récupérer des données. Ce cours est adapté aux débutants et met en avant les fonctionnalités de PHP 8.

Dev back

How to Instantly Decouple Symfony Doctrine Repository Inheritance to Clean Composition

Cet article explique comment décomposer les héritages de répositories Doctrine dans Symfony pour adopter une conception propre basée sur la composition plutôt que sur l'héritage. Il aborde le concept de refactorisation à l'aide de l'outil Rector, permettant de transformer rapidement l'héritage en composition à travers quelques étapes simples, rendant ainsi le code plus maintenable. L'article invite à une meilleure gestion des répositories dans les projets Symfony en appliquant les principes SOLID.

Dev back

From Doctrine Annotations Parser to Static Reflection

Rector a récemment remplacé son parser d'annotations basé sur Doctrine par une solution personnalisée en utilisant la réflexion statique. Cette refonte a permis de réduire le code du parser de 6700 à 2700 lignes. La nouvelle approche facilite la modification et le reformatage des annotations sans dépendre d'annotations externes, rendant le processus de refactoring pour les anciens projets plus simple et efficace, tout en corrigeant plusieurs problèmes liés à la gestion des espaces et des constantes.

Dev back

Support for Nested Doctrine Annotation to Flat Attributes in Rector 0.14

Rector 0.14 introduit le support des annotations imbriquées à des attributs plats, permettant aux utilisateurs de Doctrine de bénéficier de la migration vers PHP 8.0 et 8.1. Avec cette mise à jour, les annotations spécifiques peuvent être transformées en attributs de manière transparente, y compris les cas où des tableaux d'annotations sont désamorcés. Un nouveau règle a été ajoutée pour gérer cette situation, simplifiant ainsi le processus de mise à niveau pour les utilisateurs de Doctrine.

Dev back

Build your next REST API with Symfony & API Platform, API Platform Event - API Platform

Cette conférence présente comment utiliser API Platform, un add-on de Symfony, pour automatiser la création et la personnalisation d'une API REST. Les participants apprendront à générer des endpoints API CRUD à partir d'un modèle de données Doctrine et exploreront des cas d'utilisation avancés tels que les filtres de recherche, les contextes de sérialisation, l'authentification et les autorisations.

Dev back

Poor performance of Eloquent ORM in comparison to Doctrine - SarvenDev

Cet article compare la performance de deux ORM, Eloquent et Doctrine, en soulignant que Doctrine est généralement plus rapide lors de la lecture de données à partir de la base de données. Il note que l'utilisation de modèles de lecture est une meilleure approche pour optimiser la récupération des données, car Eloquent nécessite plusieurs étapes après l'hydratation, contrairement à Doctrine. En moyenne, Doctrine est 10 ms plus rapide par requête.

Dev back

Unlocking ORM Performance: The Essential Role of Read Models - SarvenDev

Cet article discute de l'importance des modèles de lecture pour améliorer la performance des ORM en PHP. Il compare les performances de Doctrine ORM, Doctrine DBAL et Eloquent en matière de lecture de données en examinant des cas pratiques. L'auteur souligne que l'utilisation de modèles de lecture distincts permet d'optimiser les performances et d'éviter des problèmes communs tels que le problème N+1, tout en soulignant l'importance de choisir judicieusement les outils en fonction des besoins spécifiques des projets.

Dev back

Composition over inheritance et typage générique avec Symfony et Doctrine

Cet article traite de l'importance de privilégier la composition sur l'héritage dans le développement avec Symfony et Doctrine. Il explique comment éviter les problèmes liés à l'héritage direct des repositories de Doctrine en utilisant l'injection de dépendance et en adoptant le typage générique avec PHPStan pour améliorer l'expérience de développement. Ce Codelabs est une mise en pratique de ces concepts avec du code disponible sur GitHub.

Dev back

An absolutely clean domain or just common sense - SarvenDev

Cet article aborde les méthodes pour maintenir un domaine propre en utilisant DDD (Domain-Driven Design) tout en intégrant des ORM. L'auteur discute des avantages et inconvénients des approches, soulignant que la complexité accrue peut ne pas toujours être justifiée. Il recommande une évaluation pragmatique du retour sur investissement lors de la sélection des méthodes, tout en examinant la gestion des types personnalisés et des collections avec Doctrine.