Cet article de Matt Mochalkin sur Medium explore l'utilisation des Property Hooks et de l'Asymmetric Visibility introduits avec PHP 8.4 et Symfony 7.4 pour moderniser les applications Symfony. Il montre comment ces nouvelles fonctionnalités permettent de supprimer les getters et setters boilerplate, tout en maintenant une bonne encapsulation et une intégration transparente avec Doctrine ORM, le Serializer, le Validator et les Forms de Symfony. L'auteur illustre ces concepts avec des exemples concrets de refactorisation d'entités Doctrine en entités modernes et concises.
DarkChyper explique comment utiliser Symfony/Validator pour gérer des règles de validation dynamiques et fonctionnelles, notamment dans un contexte où les contraintes doivent être paramétrables par les utilisateurs (exemple : gestion de salles de répétition pour MusicBox). L’article détaille la création de contraintes personnalisées, l’utilisation du patron Bridge pour séparer abstraction et implémentation, et l’intégration avec une base de données pour stocker les paramètres. Il montre comment étendre le système de validation de Symfony pour permettre aux administrateurs de configurer des règles (délais, limites périodiques, etc.) via une interface, tout en gardant une architecture flexible et maintenable. Le code source et une démo sont disponibles pour illustrer la mise en œuvre. Une approche intéressante pour adapter les validations aux besoins métiers spécifiques sans modifier le code source.
Tout est dans le titre
Tout est dans le titre
L'auteur montre quelques possibilités du composant Validator de Symfony en rapport avec les dates
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre, sauf que ça concerne Symfony
Tout est dans le titre
Une extension du Kernel Symfony qui permet d'extraire de la Request un DTO et donc d'appliquer toutes les validations fournies par Symfony via le Validator
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
Il s'agit d'un bundle permettant l'utilisation des annotations de Doctrine directement pour la validation :)
Tout est dans le titre