부모가 자식에 의해 상속되는 클래스가 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 I ** ** $ table_name ** 즉, 자녀를 부모로 이동하려면 ** $ table **의 가치가 필요합니다. –
@Merv 부모 클래스의 생성자는 인수가없는 경우에만 자동으로 호출 될 수 있습니다. 그러나이 경우에도 PHP 작동 방식이 아닙니다. 프로그래머는 파생 클래스의 생성자에서 부모 클래스의 생성자를 명시 적으로 호출해야합니다. – axiac