php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #33589 Subclassing DOMXML-Classes don't work
Submitted: 2005-07-06 14:48 UTC Modified: 2005-07-06 15:35 UTC
From: timo dot hummel at 4fb dot de Assigned:
Status: Not a bug Package: DOM XML related
PHP Version: 4.3.11 OS: any
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: timo dot hummel at 4fb dot de
New email:
PHP Version: OS:

 

 [2005-07-06 14:48 UTC] timo dot hummel at 4fb dot de
Description:
------------
Subclassing the classes provided by the DOMXML-Extension doesn't work. The usual approach building object-oriented applications is that the developer can subclass classes to save work and increase reliabilty of their applications.

DOMXML doesn't seem to support that, see the reproduce code below.

Of course, a developer could create a private property of the class TestElement and assign DomElement to this, but this is not the idea behind classes and objects and should be avoided (as this would also cause problems with multiple specialisation of classes, e.g. if TestElement would be specialized more);

Reproduce code:
---------------
Test case:

<?php

class TestElement extends DomElement
{
  function TestElement
  {
    /* This doesn't work */
    DomElement::DomElement("test");

    /* This also doesn't work */
    parent::DomElement("test");
  }
}

?>

However, this works:

<?php

$element = new DomElement("test");

?>



Actual result:
--------------
Warning: domelement(): Underlying object missing in <file>

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-07-06 15:35 UTC] chregu@php.net
indeed, does not work in PHP 4.x. Never did, never will. Use 
PHP 5, where you can do that (with some reservation, but does 
work)
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu Jul 03 21:01:34 2025 UTC