J'ai une classe qui utilise la méthode magique __set. Une des propriétés de la classe ne peut être définie qu'avec une certaine plage de valeurs de chaîne, le meilleur exemple auquel je peux penser est le type de données mysql ENUM ('value_one', 'value_two', 'value_three'). Est-ce que je placerai des instructions conditionnelles dans la méthode __set pour distinguer entre quelle propriété est définie et si la valeur est valide pour cette propriété?meilleure pratique php pour valider setter lors de la surcharge des propriétés de classe
Les instructions de commutation de grande taille dans une méthode __set considérée comme une pratique bâclée, sont-elles un meilleur moyen de produire les résultats souhaités?
Merci, Ben
Ou vous pouvez nommer la méthode 'setVariableName' et l'utiliser comme setter. La méthode magique ne serait donc utilisée que comme un "raccourci". De plus, cela ne vous permet d'implémenter que le setter spécifique pour les variables qui ont besoin de validation (en sauvegardant le code que vous avez besoin d'écrire) ... – ircmaxell
Personnellement, je ne suis pas fan de deux façons de définir une propriété, > color = 'blue'' et '$ obj-> setColor (' blue ')'. Je préfère l'interface pour avoir un sens ou l'autre. Cependant, c'est juste moi et beaucoup de gens le font dans les deux sens. – webbiedave
Merci pour tous vos commentaires m'a donné une bien meilleure compréhension de la meilleure façon d'effectuer la logique requise! – Globalz