what might destroy an object that is a member of another object

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

At the top of one class I declare a security object:

    var $securityObject = null;

In the constructor, I initialize a bunch of member objects. Because
I've had trouble with the security object, I also test to make sure it
has been initialized:

    function IntfCommands() {

        $this->resultsObject->notes("We are now at the beginning of the
constructor for IntfCommands.");

        $this->pageInfoObject = & $this->core->getObject("McPageInfo", "
        $this->selectObject = & $this->core->getObject("ExteriorSelect",
        $this->arrangementsObject = &
$this->core->getObject("McArrangements", "IntfCommands");
        $this->validationObject = &
$this->core->getObject("ExteriorValidation", "IntfCommands");
        $this->userObject = & $this->core->getObject("McUsers",
        $this->optionsObject = & $this->core->getObject("SingletonOptions",
        $this->fetchObject = & $this->core->getObject("ExteriorFetch",
        $this->securityObject = & $this->core->getObject("ExteriorSecurity",
        $this->outputObject = & $this->core->getObject("ExteriorOutput",
        $this->fileObject = & $this->core->getObject("ExteriorFile",

        if (is_object($this->fileObject)) {
        } else {
            $this->resultsObject->error("In the constructor of IntfCommands we
could not get an instance of ExteriorFile.", "IntfCommands");

        if (!is_object($this->validationObject)) {
            $this->resultsObject->error("In the constructor of IntfCommands, we
were unable to get the ExteriorValidation object.", "IntfCommands");

        if (!is_object($this->securityObject)) {
            $this->resultsObject->error("In the constructor of IntfCommands, we
were unable to get the ExteriorSecurity object.", "IntfCommands");
        $this->resultsObject->notes("We are now at the end of the constructor
for IntfCommands.");

The error never shows up. And yet, later on, when I call a class
method, I get the error that says there is no security object:

    function testSecurity($command=false) {
        if ($command) {
            if (is_object($this->securityObject)) {
                $isThisSecure = $this->securityObject->check($command);
                return $isThisSecure;
            } else {
                $this->core->error("In testSecurity(), in IntfCommands, there was
no security object, so we could not test the security for command
'$command'.", "IntfCommands");
        } else {
            $this->resultsObject->error("In testSecurity(), in IntfCommands, we
expected to be given a command name, but we were not.",
            return false;

So this object passes the is_object() test up in the constructor, but
then fails later on when the method is called.

What kinds of things might destroy that object in between? What should
I look for in my code. I already ran a search for unset() but got

Site Timeline