#38218 [Fbk->Opn]: php:functionString tries to access objects with their names in lowercase
| From: | moksinski at gmail dot com | Date: | Wed, 26 Jul 2006 11:27:39 +0000 |
| Subject: | #38218 [Fbk->Opn]: php:functionString tries to access objects with their names in lowercase | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-99923@lists.php.net to get a copy of this message | ||
ID: 38218
User updated by: moksinski at gmail dot com
Reported By: moksinski at gmail dot com
-Status: Feedback
+Status: Open
Bug Type: XSLT related
Operating System: windows 2000
PHP Version: 6CVS-2006-07-26 (snap)
New Comment:
php6.0-win32-200607260830 generates the same error
php5.2-win32-200607261030 - works fine
Previous Comments:
------------------------------------------------------------------------
[2006-07-26 08:53:22] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2006-07-26 08:47:20] moksinski at gmail dot com
Description:
------------
php:functionString tries to access objects with their names in
lowercase. when you use autoloader to include your classes it generates
fatal error because it cannot find the proper php file.
Reproduce code:
---------------
<?php //FILE AutoLoaded.php
class AutoLoaded { public static function printText($text) { return
$text; }}
?>
<?php //FILE index.php
$xsl=<<<EOSTRING
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl"
xsl:extension-element-prefixes="php">
<xsl:template match="xml"><xsl:value-of
select="php:functionString('AutoLoaded::printText',@dummy)"
disable-output-escaping="yes"/>
</xsl:template></xsl:stylesheet>
EOSTRING;
$xml='<xml dummy="everything is ok"/>';
function __autoload($className) {
echo $className."\n";
static $classes = array('AutoLoaded'=>'AutoLoaded.php');
require_once($classes[$className]);
}
$doc = new DOMDocument('1.0','utf-8'); $doc->loadxml($xml); $xslt = new
DOMDocument(); $xslt->loadxml($xsl);
$proc = new XSLTProcessor(); $proc->registerPHPFunctions();
$proc->importStyleSheet($xslt);
$proc->transformToXML($doc);
?>
Expected result:
----------------
AutoLoaded
Actual result:
--------------
autoloaded
Fatal error: require_once() [function.require]: Failed opening required
....
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=38218&edit=1