Bonjour,
J'avais dans un premier temps une classe abstraite avec une méthode abstraite définie dans chacune des classes enfants :
Tout allait bien dans le meilleur des mondes ; sauf que je souhaite ajouter une précondition à toutes les validations : vérifier que $value est un numérique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 abstract class Parent { abstract public function isValid($value); } class Enfant { public function isValid($value) { return true; } }
Du coup, je souhaiterais avoir quelque chose du genre :
Une solution simple serait de définir une méthode d'un autre nom et de la définir abstraite dans la classe parente et au lieu d'appeler enfant->isValid faire plutôt un $this->autreMethode($value). Mais pour des raisons de lisibilité du code je préférerais éviter (et aussi par curiosité !).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 abstract class Parent { public function isValid($value) { if (is_numeric($value)) { return ENFANT->isValid($value); } else { return false; } } } class Enfant { public function isValid($value) { return true; } }
Merci pour vos pistes !
Partager