Я не уверен в моем подходе. A имеют два класса и функции вызова первого класса во втором классе:
class A {
public function aClassFunction() {...}
}
class B {
private $aClass;
public function __construct() {
$this->aClass = new A();
}
public function bClassFunction() {
$test = $this->aClass->aClassFunction();
}
}
Он просто работает, но выглядит "подозрительно".
Вы можете использовать инъекцию зависимостей в классе B
Этот подход помогает вам высмеивать классы в тесте.
class B {
private $aClass;
public function __construct(A $a) {
$this->aClass = $a;
}
public function bClassFunction() {
$test = $this->aClass->aClassFunction();
}
}
$b = new B(new A());
Выглядит "подозрительно" как зависимость. Почему бы не ввести зависимость?
class B {
private $aClass;
public function __construct($object) {
$this->aClass = $object;
}
public function bClassFunction() {
$test = $this->aClass->aClassFunction();
}
}
extends
следующим образом:class B extends A
а затем вы можете использовать функцию из класса A в классе B