On Tue, Jan 12, 2010 at 12:12 PM, Rob Marscher <rmarsc...@beaffinitive.com> wrote: > On Jan 12, 2010, at 11:58 AM, Yitzchak Schaffer wrote: >> What's BP for changing the values of protected properties within a class >> that also has public getter/setters? e.g. in Foo::doSomething() below: > ... >> protected function doSomething() >> { >> $new_value = $this->getNewValue(); >> >> $this->bar = $new_value; >> >> // OR >> >> $this->setBar( $new_value ); >> } >> } > > If you go through the effort to create getter/setter methods, you should > always use them. Otherwise, you lose the benefit of having them - which is > that more logic can easily be placed in the getter and setter methods to do > something more than simply assign/retrieve the variable. >
Yeah, agreed. Also, if you think in terms of interfaces, there are only methods, not properties. It's a subtle thing (and most of us don't use interfaces in php) but it's a great way to ensure that you can swap out the underlying class later and not break anything. If the new class implements the same interface, there has to be a setBar() method, but there may not be a public or protected bar property. _______________________________________________ New York PHP Users Group Community Talk Mailing List http://lists.nyphp.org/mailman/listinfo/talk http://www.nyphp.org/Show-Participation