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

Reply via email to