As you already know, PHP like other languages just accept simple inheritance and not multiple inheritance. Today at work I had to create a class that saw three other classes and return all methods in just one instance. Actually what I really wanted was wrap all these three classes in just one. So, I had to figure out how to create a kind of multiple inheritance using PHP 5.
Dependency Injection
Look at this simple example below. We have some classes with a specific method each. The last class will access all methods and make it accessible using just one instance. We’re kind of simulating something like “class C extends A,B”
Here we can demonstrate the concept with a simple, yet naive example.
<?php class A { public function test_a() { echo "test_a! \n"; } } class B { public function test_b() { echo "test_b! \n"; } } class MyFinalClass { // Passing class through the constructor method // is called Dependency Injection public function __construct(A $myA, B $myB) { $this->a = $myA; $this->b = $myB; } public function test_a(){ return $this->a->test_a(); } public function test_b(){ return $this->b->test_b(); } } $final_instance = new MyFinalClass(new A, new B); $final_instance->test_b(); $final_instance->test_a(); ?>
<< All Posts
Previous post:
How to send an email when execute a crontab task
How to send an email when execute a crontab task