ID: 46885 Updated by: j...@php.net Reported By: Chowarmaan at gmail dot com -Status: Open +Status: Feedback Bug Type: Scripting Engine problem Operating System: Windows 2000/XP PHP Version: 5.2.8 New Comment:
How about you comment out the latter call and let the script work like it does? Previous Comments: ------------------------------------------------------------------------ [2008-12-16 21:26:23] Chowarmaan at gmail dot com Description: ------------ Calling a function in a class that accepts a variable by reference, then checks the variable and creates an object for it will not allow the object to be returned outside of the function. Reproduce code: --------------- <?php class TEST_CLASS { function __construct() { } function GetResponse(&$Response, $Timeout = 0) { if (!($Response instanceof TEST_CLASS2 )) $Response = new TEST_CLASS2(); $Response->SetText_('Testing Complete'); return TRUE; } } class TEST_CLASS2 { public $Variable; public function SetText_($s) { $this->Variable = $s; } } $Test = new TEST_CLASS(); $Test->GetResponse($Response, 100); // Fails $Test->GetResponse(&$Response, 100); // Works echo $Response->Variable . "\n"; ?> Expected result: ---------------- $Response should be of type TEST_CLASS2 and the echo should return the text: Testing Complete Actual result: -------------- $Response is a NULL ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46885&edit=1