ID: 47206
Updated by: [email protected]
Reported By: [email protected]
-Status: Open
+Status: Assigned
Bug Type: XSLT related
Operating System: Linux
PHP Version: 5.3CVS-2009-01-24 (snap)
-Assigned To:
+Assigned To: rrichards
New Comment:
Rob,
any problem with a atch like
------------------------
Index: ext/xsl/xsltprocessor.c
===================================================================
RCS file: /repository/php-src/ext/xsl/xsltprocessor.c,v
retrieving revision 1.39.2.2.2.9.2.15
diff -u -p -r1.39.2.2.2.9.2.15 xsltprocessor.c
--- ext/xsl/xsltprocessor.c 31 Dec 2008 11:15:47
-0000 1.39.2.2.2.9.2.15
+++ ext/xsl/xsltprocessor.c 30 Jan 2009 16:59:15 -0000
@@ -29,7 +29,7 @@
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_import_stylesheet, 0,
0, 1)
- ZEND_ARG_INFO(0, doc)
+ ZEND_ARG_OBJ_INFO(0, doc, "DOMDocument", 0)
ZEND_END_ARG_INFO();
ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_doc, 0,
0, 1)
------------------------
I didn't properly test it but it should work ...
Previous Comments:
------------------------------------------------------------------------
[2009-01-30 15:01:22] david dot zuelke at bitextender dot com
Same problem here. Subclasses of XSLTProcessor can work without
E_STRICT
warning either in 5.2 or in 5.3, but not in both :(
------------------------------------------------------------------------
[2009-01-24 05:02:08] [email protected]
Description:
------------
In 5.3, attempting to extend XSLTProcessor in the same way as in 5.2
(with type hinting on the method parameters) yields an E_STRICT message:
"Declaration of ExtendedXSLTProcessor::importStylesheet() should be
compatible with that of XSLTProcessor::importStylesheet()".
Removing the type hint fixes the problem in 5.3. I am assuming this
behavior is unintentional, and that the type hint should still be
associated with the methods.
This applies to both ::importStylesheet() and ::transformToDoc(), and
potentially other methods as well.
Reproduce code:
---------------
<?php
class ExtendedXSLTProcessor extends XSLTProcessor {
public function importStylesheet(DOMDocument $stylesheet) {
parent::importStylesheet($stylesheet);
/* ... */
}
}
?>
Actual result:
--------------
Strict Standards: Declaration of
ExtendedXSLTProcessor::importStylesheet() should be compatible with that
of XSLTProcessor::importStylesheet() in /.../test.php on line 8
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=47206&edit=1