Edit report at https://bugs.php.net/bug.php?id=31562&edit=1

 ID:                 31562
 Comment by:         youcontrol at foxmail dot com
 Reported by:        aalbre99 at student dot hia dot no
 Summary:            __autoload() problem with static variables
 Status:             Closed
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   *
 PHP Version:        5.*
 Assigned To:        helly
 Block user comment: N
 Private report:     N

 New Comment:

I got a same error,too!
php 5.2


Previous Comments:
------------------------------------------------------------------------
[2011-04-21 13:21:08] liujingfeng at snda dot com

I get the same bug. My php ver is 5.2 .

------------------------------------------------------------------------
[2005-03-10 03:34:35] he...@php.net

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.



------------------------------------------------------------------------
[2005-03-06 22:59:09] aalbre99 at student dot hia dot no

Sorry.

Replaced all my PHP files with the files in
http://snaps.php.net/win32/php5-win32-latest.zip.

Still same error...

(I'am using the built-in IIS in Windows XP SP2)


-------------------------
 Output from 'test.php':
-------------------------

Fatal error: Class 'TestClass' not found in
C:\_ECLIPSE_\test\other\Other.php on line 5

------------------------------------------------------------------------
[2005-02-28 21:02:08] sni...@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



------------------------------------------------------------------------
[2005-01-15 13:51:02] aalbre99 at student dot hia dot no

I have created an application which reproduces the error. And now I see that 
the error is caused by something other than I thought in the beginning...

Put the following files in the following folder structure, and load 
'test.php'...

/test.php
/class_files/ErrorHandler.php
/class_files/TestClass.php
/other/Other.php

#test.php#
<?php
function __autoload($className) {       
        require_once("class_files/" . $className . ".php");
}

//Uncoment this line to bypas the bug...
//require_once("class_files/TestClass.php");

class Test
{       
        public function Test()
        {               
                $errorHandler = new ErrorHandler();
                
                require_once("Other/Other.php");                
                $other = new Other();                   
        }       
}

$test = new Test();
?>

#TestClass.php#
<?php
class TestClass
{
        public static $staticVar;
        
        public function TestClass()
        {
                //Set ErrorHandler
                set_error_handler(array($this, 'handlePhpError'));              
        }
}
?>

#ErrorHandler.php#
<?php
class ErrorHandler
{
        public function ErrorHandler()
        {
                error_reporting(E_ALL);
                set_error_handler(array($this, 'handlePhpError'));              
        }
        
        public function handlePhpError($type, $msg, $file, $line)       
        {
                $myVar = TestClass::$staticVar; 
                echo "Error!";                  
        }
}
?>

#Other.php#
<?php
class Other 
{
        //Produces warning!
        var $temp = 'temp';
        
        public function Other() {}      
}
?>

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=31562


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=31562&edit=1

Reply via email to