Bug #38218 [Asn->Bgs]: php:functionString tries to access objects with their names in lowercase

From: Date: Tue, 04 May 2010 16:53:46 +0000
Subject: Bug #38218 [Asn->Bgs]: 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-150177@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=38218&edit=1

 ID:               38218
 Updated by:       rrichards@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] tony2001@php.net

Obviously, the engine is not completely ready for Unicode.
I'll take a look at it.

------------------------------------------------------------------------
[2006-07-26 11:48:36] chregu@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] 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/bug.php?id=38218&edit=1


Thread (6 messages)

« previous php.bugs (#150177) next »