At 12:46 10/04/2002 -0700, brad lafountain wrote:
>--- Andi Gutmans <[EMAIL PROTECTED]> wrote:
> > 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 {
> > ...
> > }
>
> I did suggest this method already.
Told you I didn't read all Emails :)
>But it really doesn't address the naming clash
>
>class b
>{
> function print()
> {
> }
>}
>
>class c
>{
> function print()
> {
> }
>}
>
>class a aggregates b, c
>{
>}
>$a = new A();
>
>$a->print();
>you said in the order they were aggregated. but what if i really want to call
>c->print();
>
>would i do something like this.
>$a->c->print();
I was thinking that we could have an explicit way of calling the right one.
I do think that this by far the best solution because as I said it's
extremely simple and it doesn't get us into most of the deep issues the
other solutions get us into.
I think in real life coding it will work extremely well. For each proposal
you can find problems.
>and how does this consern serilization. Would it need to be change do
>designate
>which objects are aggregated?
Each object would know which objects it aggregates so I don't see a real
big problem here. I guess potentially there are always problems when
serializing nested objects.
Andi
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php