Re: Magic Methods not working

From: Date: Wed, 27 Jan 2010 03:31:11 +0000
Subject: Re: Magic Methods not working
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-301522@lists.php.net to get a copy of this message
On Wed, Jan 27, 2010 at 11:19:34AM +0800, Eric Lee wrote: > > > On Wed, Jan 27, 2010 at 11:04 AM, Paul M Foster <paulf@quillandmouse.com> > wrote: > > I have a class which instantiates other classes, and has a magic method > like this: > > function _get($classname) > { >        return $this->instantiate($classname); > } > > Obviously, the class also has an instantiate method which does what it > says. > > Here's the problem: When I call the instantiate method, it works fine, > like this: > > $db = $sc->instantiate('database'); > > But when I do the following, it *doesn't* work: > > $db = $sc->database; > > In fact it does not call the instantiate() method; I've placed a print > statement in the instantiate() method which fires at then end of the > routine. That statement doesn't fire with the above code. > > The docs on magic methods are pretty slim, so I'm not sure what it is > I'm missing. Can someone enlighten me? > > Paul > > > > Paul, > > I seem that you should missed the required underscore " _  " > It should the __get() but not _get(). > Shall this help ? Great Caesar's Ghost! You're right! Thanks. Paul -- Paul M. Foster

« previous php.general (#301522) next »