Hey guys,

I still haven't finished reading the looooooong thread on aggregation vs. 
MI because you guys write so much :)
I would like to make a proposal for a solution which I think would fit PHP 
very nicely.
My main concern with MI is that there are many problems with it including 
namespace clashes and other problems most of you are probably familiar 
with. I think trying to work around and find solutions for all of these 
would make a PHP implementation of MI extremely hard to use and would move 
away from the spirit of PHP which is powerful simplicity.
What I have in mind is something similar to aggregation (in the original 
C++ sense which means a "has a" relationship) but improve it with an 
auto-proxy mechanism.
Basically what I'd like to have is something like:

class a aggregates b, c {
        ...
}

What would happen is that 'a' will hold an instance of 'b' and an instance 
of 'c' like the old historic meaning of aggregation.
However, when a method is called on 'a' and is not found we would 
automatically proxy the method call to these instances (in the order of 
their aggregation) and call the first existing one.
The plus is that you get something very similar to MI without having to 
deal with namespace clashes such as problems when b and c have the same 
variable name. Each object lives on its own but you get a central object 
which reflects the interfaces of all three objects.

This is a very elegant and simple IMO. It should answer most needs.
I hope I explained it well. Let me know if you have any questions.
Andi


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to