Très bien, alors j'essaie de comprendre comment structurer mon code le plus efficacement possible. Je l'ai récemment changé d'un fichier de classe géant avec toutes mes méthodes, en plus petits fichiers qui sont combinés avec une classe de base. C'est ce que je veux, mais je ne peux pas le faire fonctionner correctement et j'ai besoin d'aide avec la structure.PHP Extension des classes et accès aux frères et sœurs
Essentiellement, je dois faire ceci:
- Il y aura des fonctions qui ne sont que des « outils » pour les autres classes (telles que les fonctions de conversion, etc.) - ils ont besoin d'être accessible par tous les classes d'enfants.
- Dans certains cas, "child class one" devra utiliser des fonctions de "child class two".
- Une classe enfant doit pouvoir définir une variable qu'une autre classe enfant peut voir.
Veuillez me faire savoir comment je peux commencer avec ces exigences; Des exemples de code seraient grandement appréciés! Peut-être un pseudo code aidera - mais si je suis éteint s'il vous plaît laissez-moi savoir ce qui fonctionnerait mieux!
class main {
private $test;
public function __construct() {
//do some stuff
}
public function getTest() {
echo('public call: '.$this->test);
}
private function randomFunc(){
echo('hello');
}
}
class child1 extends main {
public function __construct() {
parent::$test = 'child1 here';
}
}
class child2 extends main {
public function __construct() {
echo('private call: '.parent::$test); //i want this to say "private call: child1 here"
parent::randomFunc();
}
}
$base = new main;
new child1;
new child2;
$base->getTest();
Je veux donc le résultat de ce soit:
private call: child1 here
hello
public call: child1 here
Jusqu'à présent, ce que j'ai essayé ne fonctionne pas ... S'il vous plaît aider! Je vous remercie.
Avez-vous regardé en utilisant Traits - http://php.net/manual/fr/language.oop5.traits.php –