Cet article aborde la cartographie des Value Objects avec Doctrine ORM, en utilisant les attributs PHP, les embeddables et les drivers PHP pour améliorer la conception des entités.
L’article souligne que la documentation officielle de Doctrine montre souvent des exemples d’entités anémiques (avec des getters/setters simples), mais propose une approche plus robuste en utilisant des Value Objects pour encapsuler la logique métier et garantir la cohérence des données. Il explique comment mapper ces objets en base de données avec Doctrine, notamment via :
- Les attributs PHP pour définir les métadonnées de mapping.
- Les embeddables pour intégrer des Value Objects directement dans les entités.
- Les drivers PHP pour une configuration plus propre et moderne.
L’objectif est de passer d’un modèle anémique à un modèle riche, où la validation et la logique métier sont encapsulées dans les Value Objects, plutôt que dispersées dans les services ou les setters. Une lecture utile pour ceux qui veulent optimiser leur architecture avec Doctrine et PHP 8+.
⚠️ Accès réservé aux membres Medium : Lien vers l’article (nécessite un abonnement ou un accès via le lien partagé).
Cet article explique comment Symfony utilise la classe ReflectionClass de PHP pour offrir sa flexibilité et son automatisation. Voici les points clés :
- Injection de dépendances : Symfony inspecte les constructeurs des classes via
ReflectionClasspour identifier et injecter automatiquement les dépendances typées, sans configuration manuelle. - Routing et contrôleurs : Grâce à la réflexion, Symfony lit les attributs de route (comme
#[Route]) et injecte dynamiquement les arguments des méthodes de contrôleur (ex. : récupération d’une entité depuis la base via leParamConverter). - Sérialisation : Le composant Serializer utilise la réflexion pour découvrir les propriétés et leurs types, permettant une conversion automatique entre objets et formats comme JSON/XML.
En résumé, la Reflection API est au cœur de la magie de Symfony, rendant possible l’injection de dépendances, le routage intelligent et la manipulation des données sans configuration statique.
Suite et correction de https://dev.to/altesack/strategy-pattern-in-symfony-4o9h , dans le cadre d'une utilisation du Design Pattern Stratefy, l'auteur explique qu'il préfère désormais utiliser les attributs plutôt que services.yml . Il utilise aussi une méthode "supports" pour vérifier si une stratégie est applicable
Si vous avez un formulaire dont le bouton "submit" n'est pas placé entre les balises
Tout est dans le titre
Tout est dans le titre
Une explication de l'utilisation de l'attribut HTML "inert"
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Une astuce pour lier un bouton "submit" à un formulaire, même s'il n'est pas inclus