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

 ID:                 31562
 Comment by:         liujingfeng at snda 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 get the same bug. My php ver is 5.2 .


Previous Comments:
------------------------------------------------------------------------
[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() {}      

}

?>

------------------------------------------------------------------------
[2005-01-15 13:06:37] aalbre99 at student dot hia dot no

YES. I managed to reproduce the error in my PHP application!

(One line was changed...)



I will now try to make a test application I can post here which
generates the same error... Stay tuned...

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


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

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


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

Reply via email to