Re: Re: Scope woe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Luke wrote:
>>
> Thanks for the replies :)
> 
> Surely if I pass it as a parameter to the __construct then I would have to
> make an instance of the otherObject, notice that messwithotherthings is
> static?
> 
> Also, if I'm not using OOP properly, Eddie, how would I use it properly to
> prevent this situation?
> 
> Thanks,
> 

Hmmm, I didn't notice the method was static - that means my idea really won't
work...

I did have a bad feeling about this, and Eddie confirmed my unease with the
point about OOP.

Really, you should need your $firstobject to be a singleton:
eg.

class FirstObject
{
    private static $theInstance = NULL;

    public $propertyContainingObject;

    protected function __construct()
    {
        // whatever
    }

    public static function getInstance()
    {
        if (!self::$theInstance)
        {
            self::$theInstance = new FirstObject();
        }
        return self::$theInstance;
    }

    // ... other methods ...
}


So then:

class OtherObject
{
    static function messWithOtherThings()
    {
        $firstObject = FirstObject::getInstance();
        $firstObject->propertyContainingObject->methodInsideThatObject();
    }
}



I think that works, and is reasonable to the OOP purists...


-- 
Peter Ford                              phone: 01580 893333
Developer                               fax:   01580 893399
Justcroft International Ltd., Staplehurst, Kent

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux