I have created a few classes and they have some dependencies on each other. I’m wondering if what I have created is considered acceptable.
Here is an example with 3 classes (A, B, C).
-
Class A is dependent on Class B and C.
-
Class B is dependent on Class A.
-
Class C has no dependencies.
class A {
function __construct() {}
public function init($dependencies) {
foreach($dependencies as $name => $dependency) {
$this->{$name} = $dependency;
}
}
public function foo() {
if($this->B->bar()) {
return 'A via B is true';
}
if($this->C->bar()) {
return 'C true';
}
return false;
}
public function bar() {
return true;
}
}
class B {
function __construct() {}
public function init($dependencies) {
foreach($dependencies as $name => $dependency) {
$this->{$name} = $dependency;
}
}
public function bar() {
if($this->A->bar()) {
return true;
}
return false;
}
}
class C {
function __construct() {}
public function bar() {
return true;
}
}
$A = new A();
$B = new B();
$C = new C();
$A->init(array(
'B' => $B,
'C' => $C
));
$B->init(array(
'A' => $A
));
var_dump($A->foo());
Thanks!
New contributor
Andrew Jackson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
4