Page 1 of 1

Combining Objects Question

Posted: Wed Mar 19, 2008 1:57 pm
by linchay
Hi all,

Have a question and wandering how some of you, or what would be the best practice for this implementation.

I have three objects

Company
Categories
Product


Each of these objects are standalone objects, but at times, the three could be combined to create a complete product.

One way is:

categories extends company
product extends categories

THis will work, but this extended object just seems like over and it is not something I need. I wish something in php would allow me to creare a parent like this

class productComplete extends product, categories, company {}

But since php does not allow this, how would you design something like this? What is best implementation?

Re: Combining Objects Question

Posted: Wed Mar 19, 2008 3:06 pm
by Christopher
You would probably be better off using composition. Inheritance has its place, but generally try to composite first.

Code: Select all

class categories {
    protected $company;
 
    public function __construct($company) {
        $this->company = $company;
    }
}
 
class product {
    protected $category;
 
    public function __construct($category) {
        $this->category = $category;
    }
}
If you have one to may relationships they you can pass in an array or have an add() method to append to the list.