ID: 38726 Comment by: dan dot marra at gmail dot com Reported By: jiri dot brachtl at centrum dot cz Status: No Feedback Bug Type: Class/Object related Operating System: Windows XP SP2 PHP Version: 5.1.6 New Comment:
The follow example was requested. This should reproduce the error: <?php function __autoload($classname) { require_once('include/'.$classname.'.php'); } // in include/foo.php class foo { private $myVar; private $myDerivedClass; function __construct() { $this->myDerivedClass = new Bar(); } function getAllVars() { $values = get_object_vars($this); foreach($values as $property => $value) { if(is_subclass_of($value, 'Foo')) die('is a subclass!'); } } } //in include/bar.php class Bar extends Foo { private $anotherValue function __construct() { $this->anotherValue = 'foobar'; } } $myclass = new Foo(); $myclass->getAllVars(); ?> this causes a fatal error where it cannot include 'test 1.php'. Previous Comments: ------------------------------------------------------------------------ [2006-09-13 01:00:01] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2006-09-05 17:10:52] [EMAIL PROTECTED] And please use var_dump() instead of print_r(). ------------------------------------------------------------------------ [2006-09-05 17:09:58] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2006-09-05 17:04:43] jiri dot brachtl at centrum dot cz Missing 'c' in function name is_subclass_of. Not so important. ------------------------------------------------------------------------ [2006-09-05 16:58:48] jiri dot brachtl at centrum dot cz Description: ------------ __autoload() fails to load class, when its name is used in the first parameter of is_sublass_of(). Reproduce code: --------------- function __autoload($className) { require_once $className . ".php"; } //Both ClassName1 and ClassName2 are defined in separate files print_r( is_sublass_of("ClassName1", "ClassName2") ); Expected result: ---------------- 0 or 1 Actual result: -------------- //nothing, like void return type ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=38726&edit=1