Как правильно, если это возможно вызвать класс внутри другого класса? В классе "В" не могу вызвать функцию класса "А". Чтоб её вызвать нужно её переопределять $a = new A() в классе "В". Как можно вызвать чтоб не переопределять? или может нужно как-то правильно описывать класс "А"?index.php$a = new A(); $b = new B();A.phpclass A { public function print_tst() { echo "tst"; } }B.phpclass B { function __construct() { $a->print_tst(); } }
Для того, чтобы вызвать функцию класса "A" внутри класса "B" без необходимости повторного создания объекта класса "A" в классе "B", можно передать объект класса "A" в конструктор класса "B" и сохранить его в свойстве класса "B".
Пример:
index.php
$a = new A(); $b = new B($a);
A.php
class A { public function print_tst() { echo "tst"; } }
B.php
class B { private $a; function __construct($a) { $this->a = $a; $this->a->print_tst(); } }
Теперь функция print_tst класса "A" будет вызвана в конструкторе класса "B", используя сохраненный объект класса "A" в свойстве класса "B".
Для того, чтобы вызвать функцию класса "A" внутри класса "B" без необходимости повторного создания объекта класса "A" в классе "B", можно передать объект класса "A" в конструктор класса "B" и сохранить его в свойстве класса "B".
Пример:
index.php
$a = new A();$b = new B($a);
A.php
class A {public function print_tst() {
echo "tst";
}
}
B.php
class B {private $a;
function __construct($a) {
$this->a = $a;
$this->a->print_tst();
}
}
Теперь функция print_tst класса "A" будет вызвана в конструкторе класса "B", используя сохраненный объект класса "A" в свойстве класса "B".