Ich habe 2 Klassen, in denen Eltern von Kind geerbt werden.Argumente an übergeordneten Klassenkonstruktor in PHP übergeben?
class parentClass
{
private $table_name='';
public function __construct($argument)
{
$this->table_name=$argument;
echo $this->table_name;
}
}
class child extends parentClass
{
private $table="student";
public function __construct()
{
parent::__construct($this->table);
}
}
Es gibt einige, was unten, dass wie dies muss verwendet werden, aber ich bin nicht in der Lage zu verstehen, wie und warum.
$args = func_get_args();
call_user_func_array(array($this, 'parent::__construct'), $args);
Helfen Sie mir als
Was der richtige Code sollte die richtige Logik und bitte unterstützen sie mit einem Verweis zu erreichen, ein besseres Verständnis zu gewinnen.
Eigentlich ist das Konzept der Vererbung ein bisschen anders, man kann den Konstruktor nicht direkt aufrufen, wird automatisch aufgerufen wird. Um das Argument $ in der Elternklasse weiterzugeben, müssen Sie es in der Kindklasse angeben. – Merv
@Merv ich einige, wie der Wert von ** $ Tabelle ** zu ** $ table_name **, d. H. Kind zum Elternteil bewegen müssen. –
@Merv der Konstruktor der übergeordneten Klasse könnte automatisch nur aufgerufen werden, wenn es kein Argument hat. Aber auch in diesem Fall funktioniert PHP nicht so. Der Programmierer muss den Konstruktor der Elternklasse explizit im Konstruktor der abgeleiteten Klasse aufrufen. – axiac