Pour obtenir des informations plus détaillées sur votre classe (si vous voulez savoir ce qui est disponible à une classe d'enfants par exemple), vous pouvez ajouter une méthode debug()
.
Voici un exemple de classe avec une telle méthode que j'utilise qui imprime les méthodes, vars par défaut, et l'instance vars de manière structurée agréable:
<?php
class TestClass{
private $privateVar = 'Default private';
protected $protectedVar = 'Default protected';
public $publicVar = 'Default public';
public function __construct(){
$this->privateVar = 'parent instance';
}
public function test(){}
/**
* Prints out detailed info of the class and instance.
*/
public function debug(){
$class = __CLASS__;
echo "<pre>$class Methods:\n";
var_dump(get_class_methods($class));
echo "\n\n$class Default Vars:\n";
var_dump(get_class_vars($class));
echo "\n\n$class Current Vars:\n";
var_dump($this);
echo "</pre>";
}
}
class TestClassChild extends TestClass{
public function __construct(){
$this->privateVar = 'child instance';
}
}
$test = new TestClass();
$test2 = new TestClassChild();
$test->debug();
$test2->debug();
Il est inutile de nous montrer le code qui ne fonctionne pas. Nous ne pouvons pas en extrapoler ce que vous voulez faire, car le code ne fonctionne pas: par définition, il ne décrit pas ce que vous voulez faire. Cela n'a aucun sens. Alors, décrivez (ou expliquez en anglais) la sortie que vous voulez. –