Re: Unable to return object references from functions

From: Date: Sun, 16 Dec 2001 04:23:27 +0000
Subject: Re: Unable to return object references from functions
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-77850@lists.php.net to get a copy of this message
Hi again Got a bit sidetracked ... here is your original code :) class test_class2 {
        var $dummy="nothing";
}; Function not_assigning(&$not_returned,&$copy) {
        global $object;
        $object = new test_class;
        $object->dummy="original";
        $success=1;
        $not_returned[] = &$object;
        $copy=$object;
        $copy->dummy="copy";
        var_dump("In the function",$success,$not_returned[0],$copy,$object);
        return $success;
} $success = not_assigning($not_returned,$copy); echo "<br><br>"; var_dump("Out the function",$success,$not_returned[0],$copy,$object); ?> At 02:15 PM 16/12/01, Tom Rogers wrote:
Hi Is this doing what you want, seems you have to use an array to create the ref (just getting a handle on objects :) <? class test_class {
        var $dummy="nothing";
}; Function &assigning(&$returned,&$copy,&$object) {
                global $success;
                $object->dummy="original";
                $success=1;
                $copy=$object;
        $copy->dummy="copy";
        $returned[] = &$object;
        var_dump("In the function",$success,$returned[0],$copy,$object);
        return $object;
} $object = assigning($returned,$copy,new test_class); echo "<br><br>"; var_dump("Out the function",$success,$returned[0],$copy,$object); ?> At 03:06 PM 15/12/01, you wrote:
Hello, I am trying to return a reference from an object created inside a function and at the same time have the object stored in a global variable. It seems that when I try doing it by assigning the object reference to a function argument that is passed by reference, nothing is returned in that variable despite inside the function the argument variable seems to have the right value. Is this a PHP bug or this is not the right way to do it? Try the example below. Manuel Lemos <? class test_class {
        var $dummy="nothing";
}; Function not_assigning(&$not_returned,&$copy) {
        global $object;
        $object=new test_class;
        $object->dummy="original";
        $success=1;
        $not_returned= &$object;
        $copy=$object;
        $copy->dummy="copy";
        var_dump("In the function",$success,$not_returned,$copy,$object);
        return $success;
} $success=not_assigning($not_returned,$copy); var_dump("Out the function",$success,$not_returned,$copy,$object); ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net For additional commands, e-mail: php-general-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net For additional commands, e-mail: php-general-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net


« previous php.general (#77850) next »