Marcus Boerger wrote:
> Hello vivi,
>
> Wednesday, February 4, 2004, 5:19:40 PM, you wrote:
>
>> Hello at all,
>> ok my problem in a nutshell: i need multiple inheritance! is there a
>> solution to fake this functionallity in php5?
>
>> i have the following problem:
>> the goal is to implement my own DomXML implementation based on the
>> existing DomNode, DomDocument, Dom... Classes.
>
>> thus, i implement my classes as follows:
>
>> class MyNode extends DomNode {} // that isn't the problem
>> class MyDocument extends DomDocument {} // would be fine, but...
>
>> this would be an easy solution, but there is a logical problem:
>> if i extend the DomNode (with the methods in MyNode) then -i think-
>> MyDocument should have those extended methods, too.
>> so i could write:
>
>> class MyDocument extends MyNode {} // problem
>
>> but now i'm missing all the nice methods of DomDocument!!
>> multiple inheritance would solve this problem:
>
>> class MyDocument extends MyNode,DomDocument {} // not possible
>
>> by the way: i will get into trouble with all Dom-Classes:
>> class MyElement extends MyNode,DomElement {}
>> class MyAttribute ...
>
>> Hope you'll understand me?
>> Is there a way to solve this problem?
>> I'm thinking about the new __call() method implemented as follows:
>
>> class MyDocument extends MyNode {
>> function __call($method, $params) { // fake solution
>> ...
>> eval("DomDocument::$method($paramsString);");
>> }
>> }
>
>> but with a fake solution like this i wouldn't get all methods with
>> get_class_methods() and that wouldn't be that nice:)
>
>> Can Interfaces help me?
>
>> Thanks for your efforts..
>
> At least interfaces would force you to implement the same set of
> additional functions in each derived class. However interfaces cannot have
> bodys and hence you need to provide the code for each derived class
> separatley; with the ability to make mistakes or real errors.
>
> interface extended_dom {
> function myFunction();
> }
>
>
> class MyNode extends DomNode implements extended_dom {}
> class MyDocument extends DomDocument implements extended_dom {}
>
> But this is a question for [EMAIL PROTECTED]
>
> Best regards,
> Marcus mailto:[EMAIL PROTECTED]
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php