Zend Engine 2 will have multiple-inheritance among other nice toys.
No I don't know when it will be part of PHP)

There is a mailing list for the engine, I just don't remember what it
is.

-Chris

-----Original Message-----
From: Matthew J Gray [mailto:[EMAIL PROTECTED]] 
Sent: Friday, December 07, 2001 2:07 PM
To: [EMAIL PROTECTED]
Subject: [PHP-DEV] multiple inheritance ext

Hello,

Where I work, there are 4+ php applications currently being developed
by 4 different programmers.  In order to try to save code, we use
libraries of php code, and to make a long story short-- it would be
very helpful(and necessary in one case) if we had multilpe
inheritance.  

In order to sort of solve this problem, I've written an extension that
introduces the functions multi_extend() and bind() to php.  

multi_extend() takes a variable number of class names(>=2) as
arugments.  The first given class name then becomes a sub class of
each successive argument. The order in which the parent classes are
given matters(in case of name conflicts in the parent classes).  As
you may have already guessed, the extension just merges the hash
tables of class entries as
necessary.

bind() takes the name of a class and the name of a function and
"binds" the function to the given class.  This is useful to us when
the interface class of a library is a subclass of another class in the
library.  

bind() doesn't quite work properly, but multi_extend does and I plan
on adding it to the machines in our test environment.  Long term,
however, it would be nice if this sort of multiple inheritance
functionality was part of php so it could be better maintained and
developed in more competent hands.  

I am wondering:
1) Are we alone in wanting this sort of functionality?  Would anybody
else find this useful?
2) Could it be better implemented in php using keywords(extends taking
a list of parent classes) and operators(::) ?
3) Why overloaded classes?  It doesn't seem very straight forward from
a usuability standpoint(maybe I am biased since I has such bad
experience getting __sleep and __awake to work and would rather never
use a __* method again).

I realize the reasons for having this may be a little hard to follow,
so I've attatched some examples. 

Thanks,
Matt


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to