Bonsoir,
Un petit problème dont je ne sais pas si c'est réalisable.
J'ai dans 2 fichiers distincts, 2 classes de même nom.
Dans une classe enfant que j'instancie dans mon script, je souhaite faire que ce soit le constructeur qui appelle le fichier de la classe parente.
Donc 4 fichiers de départ :
class_parent_1.php (contient la classe parent)
class_parent_2.php (contient la classe parent)
class_enfant_php (contient la classe enfant)
script.php
Donc un exemple de ce que je veux faire :
page script.php
Ma classe enfant contiendrait donc par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 require 'class_enfant.php'; $fichier_parent = $x == 1 ? 1 : 2; $ma_classe = new enfant($fichier_parent);
Mais bien entendu, cette façon ne fonctionne pas, php me signale un fatal error comme quoi la class parent n'existe pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class enfant extends parent { function __construct($parent) { require 'class_parent_' . $parent . '.php'; parent::__construct(); } }
Est-ce possible de faire ceci, donc que ça soit ma classe enfant qui appelle le fichier contenant la classe parent en fonction d'un argument passé dans le constructeur ?
Ou d'une autre manière peut-être.
Merci.
Partager