Re: magic getter

From: Date: Thu, 19 Jul 2012 19:36:04 +0000
Subject: Re: magic getter
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-318520@lists.php.net to get a copy of this message
On Thu, Jul 19, 2012 at 9:22 PM, Sebastian <php-maillist@elygor.de> wrote: > Hi all, > > is this a bug, or a feature? > > class Foo > { > private $data; > > public function __get($name) > { > return $this->data[$name]; > } > } > > $foo = new Foo(); > $foo->color = 'red'; > > echo $foo->color; > > I would expect an error, or a least a notice, but it prints out "red" ... > I guess it's some hidden feature. Since you're not required to declare your variables in PHP, it's pretty much impossible to detect if this is what the user wants or an error. In this case, PHP will declare a public variable color inside the class for you. - Matijn

« previous php.general (#318520) next »