[PHP-DEV] PHP 4.0 Bug #8105: session_register drops inner object From: ronen <email protected>
Date: 12/04/00

From: ronen <email protected>
Operating system: RedHat Linux 6.2
PHP version: 4.0.3pl1
PHP Bug Type: Class/Object related
Bug description: session_register drops inner object

When I have an object that I register to a session, it first describes the variable name, then the name of the class from which it was instantiated, and finally the property names and values for any of that objects properties.

A problem exists when you try to register an object which has a different one nested within it. In this case, no mention of the inner object is registered, and the next time you attempt to call it, you get an error message of trying to call a method of a undeclared object.

Ex:
=====================================
file class.test.php
<?
class inner {

        function get_name($first_name,$last_name) {
                $return $first_name." ".$last_name;
        }
}

class outer extends inner {
        var fname;
        var lname;

        function outer ($fname,$lname) {
                $this->fname=$fname;
                $this->lname=$lname;
        }

        function x() {
                return $this->inner->get_name($this->fname,$this->lname);
        }
}
?>
=============================
file test1.html:

<?
require_once("class.test.php");
$testClass=new outer("jon","smith");
session_register("testClass");
?>

=============================
file test2.html:

<?
require_once("class.test.php");
session_start();
echo "FIRST_NAME: ".$testClass->fname."<br>";
echo "LAST_NAME: ".$testClass->lname."<br>";
echo "FULL_NAME: ".$testClass->x()."<br>";
?>

-- 
Edit Bug report at: http://bugs.php.net/?id=8105&edit=1

-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>