On 3/28/06, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote: > Anthony Ettinger wrote: > > On 3/28/06, Jay Blanchard <jblanchard@xxxxxxxxxx> wrote: > > > >>[snip] > >>I see this all over the place, but I don't think it stores the variable > >>in = > >>$foo: > >> > >>class Foo { > >>private $foo; > >> > >>public function __setFoo($arg) > >>{ > >> $this->foo = $arg; > >>} > >>[/snip] > >> > >>I am always using 'foo' in conversation and finally said it enough that > >>the CEO used it in a meeting the other day. Setter functions are cool. > > hmmm, who wants to write setters for 100's of properties? ... > see below for an alternative ... > > >> > >> > > > > > > Nevermind, it does need private $foo; it works without it, but not if > > you want to use a default from within the class. > > > > if you set private $foo = 'foo'; > > > > print $f->__getFoo(); > > $f->__setFoo('bar'); > > print $f->__getFoo(); > > <?php > > class Foo > { > private $foo = 'foo'; > > function __get($k) > { > if (isset($this->{$k})) { > return $this->{$k}; > } > > throw new Exception("non existing property!"); > } > > function __set($k, $v) > { > if (isset($this->{$k})) { > $this->{$k} = $v; > return; > } > > throw new Exception("non existing property!"); > } > } > > $f = new Foo; > echo $f->foo,"\n"; > $f->foo = "bar"; > echo $f->foo,"\n"; > > > > Yields: > > foo > > bar ....If you handle your properties all the same. -- Anthony Ettinger Signature: http://chovy.dyndns.org/hcard.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php