親が子によって継承される2つのクラスがあります。その下に、このようないくつかの事がありPHPの親クラスのコンストラクタに引数を渡しますか?
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);
}
}
を使用する必要がありますが、私はどのようにして理由を理解することができません。
$args = func_get_args();
call_user_func_array(array($this, 'parent::__construct'), $args);
正しいロジック を達成し、より良い理解を得るために参照して、それをサポートしてくださいするには、正しいコードがどうあるべきか
として私を助けて。
実際には、継承の概念が少し異なっている、あなたはそれが自動的に呼び出され、コンストラクタを直接呼び出すことはできません。 親クラスで$引数を渡すには、子クラスに渡す必要があります。 – Merv
@Merv私はいくつかの**テーブル$ **の値を** $ table_nameに移動するにはどうすればいいですか。 –
@Merv親クラスのコンストラクタは、引数を持たない場合にのみ自動的に呼び出すことができます。しかし、この場合でも、これはPHPの仕組みではありません。プログラマは、派生クラスのコンストラクタで親クラスのコンストラクタを明示的に呼び出さなければなりません。 – axiac