#1038: Add workaround for PHP bug #47206
--------------------+-------------------------------------------------------
Reporter: david | Owner: david
Type: task | Status: new
Priority: normal | Milestone: 1.0
Component: config | Version: 1.0.0beta1
Severity: minor | Keywords:
Has_patch: 0 |
--------------------+-------------------------------------------------------
{{{ext/xsl/xsltprocessor.c}}} has reflection API metadata since PHP 5.2.6
(http://cvs.php.net/viewvc.cgi/php-
src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.11&r2=1.39.2.2.2.12).
This metadata was incorrect in PHP 5.2.6, 5.2.7 and 5.2.8 in that it
mandated the arguments for several methods to be {{{DOMDocument}}}s, while
the XSL extension can also handle SimpleXML objects. This problem is fixed
in 5.2.9.
Our current subclass of {{{XSLTProcessor}}} has {{{DOMDocument}}} and
{{{DOMNode}}} as argument type hints. This does not cause a problem on PHP
< 5.2.6, as no arginfo existed at all in the PHP source code.
What we need to do now is fix the method signatures to be compatible with
5.2.9+, and then add (don't cringe now) conditional
{{{error_reporting()}}} calls that switch off {{{E_STRICT}}} and restore
the old level afterwards before and after the {{{include()}}} call for
{{{AgaviXmlConfigXsltProcessor}}} in
{{{AgaviConfigCache::loadConfigHandlers()}}}
Oh boy.
--
Ticket URL: <http://trac.agavi.org/ticket/1038>
Agavi <http://www.agavi.org/>
An MVC Framework for PHP5
_______________________________________________
Agavi Tickets Mailing List
[email protected]
http://lists.agavi.org/mailman/listinfo/tickets