Edit report at http://bugs.php.net/bug.php?id=38218&edit=1
ID: 38218 Updated by: [email protected] 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] [email protected] Obviously, the engine is not completely ready for Unicode. I'll take a look at it. ------------------------------------------------------------------------ [2006-07-26 11:48:36] [email protected] 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] [email protected] 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
