On Thu, 20 Jan 2005 09:37:37 -0500, Jason Barnett <jason.barnett@xxxxxxxxxxxxx> wrote: > Dustin Krysak wrote: > > Hi there, I am pretty new to writing classes (and pretty new to PHP > > itself), but I was wondering what was the best format for constructing > > There are a few general patterns that show up time after time. They > happen so often that there are formal names for them. This isn't really > a PHP question per se, but a good site for exploring object design in > PHP is http://phppatterns.com/ Nice idea, shame about the site. I would expect a patterns site to have a place with a list of the standard patterns, what they are for and implementation in the target language. This site douse not (or it douse I cant find it). Anyone know of one that douse. Ben > > classes. Now for example, i have written 2 versions of a class that > > accomplish the exact same thing. And I was just wondering if there are > > any advantages to either, or even if one was formatted more so to > > standards. Just wanting to learn it the proper way from the get go. My > > classes are formatted for use in flash remoting (hence the methodTable > > stuff - you can ignore it). I guess my question refers more towards the > > declaration of properties, etc. > > Think of declaration of properties and methods as a "contract". When > something is public it is available to all of PHP. When it is private > it is only usable by the class that you define it in. When it is > protected it is a hybrid; it is usable to the class that defined it and > it can be "inherited" by classes that extend that class. > > So, decide what level of access you really *need* for that property / > method. If a property is only supposed to be modified by class methods > (for example, a password string) then make it private or possibly > protected. If everything is public access then there is temptation to > do something like: > > <?php > > class myObject { > public $pubprop = 'I am the starting value. Trust me, even though I > am public access'; > } > > function all_hell_breaks_loose($obj) { > $obj->pubprop = 'ANARCHY LIVES! PHEAR DA WRAFF OF DA PUBIC PROPS!'; > } > > $obj = new myObject(); > > /** ... 1000's of lines of code ... */ > > all_hell_breaks_loose($obj); > print_r($obj); > > ?> > > -- > Teach a man to fish... > > NEW? | http://www.catb.org/~esr/faqs/smart-questions.html > STFA | http://marc.theaimsgroup.com/?l=php-general&w=2 > STFM | http://www.php.net/manual/en/index.php > STFW | http://www.google.com/search?q=php > LAZY | > http://mycroft.mozdev.org/download.html?name=PHP&submitform=Find+search+plugins > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Ben Edwards - Poole, UK, England WARNING:This email contained partisan views - dont ever accuse me of using the veneer of objectivity If you have a problem emailing me use http://www.gurtlush.org.uk/profiles.php?uid=4 (email address this email is sent from may be defunct) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php