Req #62858 [Opn->Dup]: Please remove 'final' restriction on SimpleXMLElement::__construct
Edit report at https://bugs.php.net/bug.php?id=62858&edit=1
ID: 62858
Updated by: laruence@php.net
Reported by: michaelduff at yahoo dot com
Summary: Please remove 'final' restriction on
SimpleXMLElement::__construct
-Status: Open
+Status: Duplicate
Type: Feature/Change Request
Package: SimpleXML related
PHP Version: 5.4.6
Block user comment: N
Private report: N
New Comment:
dup to #46684
Previous Comments:
------------------------------------------------------------------------
[2012-11-24 15:01:01] anthon dot pang at gmail dot com
Dupe of #46684
------------------------------------------------------------------------
[2012-08-21 05:47:48] laruence@php.net
there must be some reason for the author mark the constructor as final, like some
work must be done before any user access to it.
------------------------------------------------------------------------
[2012-08-18 19:36:50] michaelduff at yahoo dot com
Description:
------------
The __construct() method on SimpleXMLElement is marked 'final', which prevents extension
of the class for, say, XML-format-specific objects which augment otherwise empty incoming XML data.
The current workaround is to use __get and __set and company (which unfortunately means <?= $obj
instanceof SimpleXMLElement ?> fails), and which is much slower -- or to use a static factory
method which forces some XML in there (which is syntactically ugly imo.)
Not to shoot my request in the foot, but I forsee possible issues with these functions:
- simplexml_import_dom ( $node [, $class_name ] )
- simplexml_load_file ( string $filename [, string $class_name ] ... )
- simplexml_load_string ( string $data [, string $class_name ] ... )
However, perhaps it would suffice to require 'a compatible function signature' rather than
to mark it final?
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62858&edit=1
Thread (4 messages)