Edit report at http://bugs.php.net/bug.php?id=38218&edit=1
ID: 38218 Updated by: rricha...@php.net Reported by: moksinski at gmail dot com Summary: php:functionString tries to access objects with their names in lowercase -Status: Assigned +Status: Bogus Type: Bug Package: XSLT related Operating System: windows 2000 PHP Version: 6CVS-2006-07-26 (snap) Assigned To: tony2001 New Comment: No longer an issue with new trunk Previous Comments: ------------------------------------------------------------------------ [2006-07-26 11:59:22] tony2...@php.net Obviously, the engine is not completely ready for Unicode. I'll take a look at it. ------------------------------------------------------------------------ [2006-07-26 11:48:36] chr...@php.net zend_make_callable() does a lowercase in PHP 6, which it didn't before don't know, which part has to be fixed for this... ------------------------------------------------------------------------ [2006-07-26 11:27:39] moksinski at gmail dot com php6.0-win32-200607260830 generates the same error php5.2-win32-200607261030 - works fine ------------------------------------------------------------------------ [2006-07-26 08:53:22] tony2...@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/bug.php?id=38218&edit=1