В классе Child мне нужно получить доступ к родительскому свойству "$ this-> lang" и использовать его для других свойств, прежде чем снова вызывать родительский конструктор, например:
abstract class mySuperClass {
protected $lang;
public function __construct($arg1=null, $arg2=null, $arg3=null) {
$this->lang = "US";
}
}
class myChild extends mySuperClass {
public function __construct($arg1=null, $arg2=null, $arg3=null) {
$new_arg1 = $this->lang; // HERE WE ARE STRUGGLYING ...
echo "<br/>step 1) ". get_class(). " : lang= $new_arg1 "; // returns "" where I would need "US"
parent::__construct($new_arg1 , $arg2, $arg3) ;
echo "<br/>step 2) ". get_class(). " : lang= $this->lang"; // returns "US"
}
}
$obj = new myChild("foo1", "foo2", "foo3") ;
Это не представляется возможным / разрешенным, так как родительский класс не создается на этом этапе, когда мы пытаемся вызвать родительское свойство $ this-> lang. Что кажется логичным.
Так что вопрос:
Есть ли способ получить доступ к родительскому свойству в дочернем классе с помощью переопределения конструктора, как показано?