У меня есть такой класс:
class A {
public $var = "";
function __construct() {
$this->var = "value";
}
}
И такой дочерний класс:
class B extends A {
function __construct() {
// Is this correct?
parent::__construct();
}
function my_function() {
// Or this?
// $options is an instantiation of A.
global $options;
echo $this->var;
}
}
Проблема, с которой я столкнулся, заключается в том, что при вызове метода my_function (), значение var было пустым.Прочитав некоторое время на php.net, я обнаружил, что когда у дочернего класса есть собственный конструктор, родительский конструктор переопределяется, поэтому моя переменная была пустой.Мой вопрос заключается в том, является ли способ, которым я вызываю parent :: __ construct (), правильным решением, или мне следует просто глобализировать экземпляр объекта, который я создал в своем скрипте?Я много читал в комментариях на PHP.net и в других местах и не смог найти ничего краткого.