Comment implémenter correctement les énumérations (Enum) en PHP sans support intégré ?
Bonjour à tous ! Je suis un développeur PHP débutant et j'ai rencontré un problème. Dans d'autres langages (Java, C#), il existe une construction pratique enum qui permet de définir un ensemble fixe de constantes. Par exemple, les statuts de commande : "nouveau", "en traitement", "expédié", "livré".
En PHP, je n'ai pas trouvé de enum intégré. J'ai essayé d'utiliser des constantes de classe ordinaires :
class OrderStatus {
const NEW = 'new';
const PROCESSING = 'processing';
const SHIPPED = 'shipped';
const DELIVERED = 'delivered';
}
$status = OrderStatus::NEW;
Mais ce n'est pas pratique. Je ne peux pas vérifier que la variable $status contient uniquement une des valeurs autorisées. On peut accidentellement assigner $status = 'invalid_status', et aucune erreur ne sera générée. Il n'y a pas non plus de possibilité d'ajouter des méthodes à chaque valeur (par exemple, obtenir la description du statut en russe).
Comment organiser correctement les énumérations en PHP ? Existe-t-il des motifs de conception...
No answers yet.
Connectez-vous pour laisser une réponse