Fondamentalement ce que je veux faire:Transfert des variables php de classe en classe étendue
<?php
class App {
public $var = "main-class";
public function load() {
$this->var = "child-class";
$child = new Child;
$child->echo_var();
}
}
class Child extends App {
public function echo_var() {
echo $this->var;
}
}
$app = new Child;
$app->load();
?>
Il affiche « classe principale », je le veux à la sortie de « classe enfant » sans avoir à modifier la classe enfant (parce que je veux que ce soit une sorte de classe "propre" et dynamique).
J'accepte des suggestions pour un autre cours d'action
PS: Cela fait partie d'un cadre petit MVC je suis en train de se développer.
Cela ne semble pas tout à fait correct. Pour être en mesure de suggérer un autre plan d'action, vous devez fournir un peu de contexte. Que fait exactement 'load()'? – Vikk
J'ai une sorte de var globale nommée "models", elle est initialisée comme ceci: public $ models = array(); et j'ai une fonction qui remplit ce tableau en fonction des classes utilisées dans le contrôleur en cours, $ this-> uses_class ("Thumbnail"); qui agit sur les modèles, en ajoutant au tableau ... avant d'appeler la classe enfant, le tableau est bien peuplé avec les classes que j'ajoute, mais après, le $ models var réinitialise en array() –