Thread: Syntax
-
05-10-2011, 14:49 #1
Syntax
ik heb vroeger al een beetje PHP geprogrammeerd maar om men "skills" wat op te krikken ben ik aan het boek "PHP Objects, Patterns and Practice" begonnen.
Daarin kwam ik volgende snippet tegen:
waarom wordt er hier gebruik gemaakt van accolades?PHP Code:class ShopProduct {
public $title = "default product";
public $producerMainName = "main name";
public $producerFirstName = "first name";
public $price = 0;
function getProducer() {
return "{$this->producerFirstName}" . " {$this->producerMainName}";
}
}
zelf zou ik het spontaan zo hebben gedaan:
PHP Code:class ShopProduct {
public $title = "default product";
public $producerMainName = "main name";
public $producerFirstName = "first name";
public $price = 0;
function getProducer() {
return $this->producerFirstName . $this->producerMainName;
}
}
no votes
-
-
05-10-2011, 15:19 #2Member
- Registered
- 27/06/11
- Location
- Antwerpen
- Posts
- 580
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 5/26
In uw oplossing hebt ge geen spatie tussen de voor- en achternaam.
no votes
-
05-10-2011, 15:24 #3Crew Member
- Registered
- 01/09/02
- Location
- Peutie
- Posts
- 7,664
- iTrader
- 0
- Mentioned
- 4 Post(s)
- Reputation
- 13/105
Zie hierboven.
Uiteindelijk heeft dat te maken met de snelheid. In uw voorbeeld is dat verwaarloosbaar en ik moet in al die jaren dat ik al met PHP ontwikkel nog een deftig voorbeeld tegen komen waarom je dat zou gebruiken. In zijn voorbeeld zou ik dan ook eerder gewoon iets gedaan hebben als:
In ieder geval bevat de PHP manual een uitgebreidere uitleg en voorbeelden: Complex string parsing.PHP Code:function getProducer() {
return "{$this->producerFirstName} {$this->producerLastName}";
}
Vanaf nu gaan we verder op BeyondGaming!
In deze thread wordt uitgelegd hoe je jouw account kan migreren.no votes
-
06-10-2011, 01:55 #4Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
Het voorbeeld is idd nogal slecht gekozen. Waar je die accolade-notatie wel zou kunnen tegenkomen is in templates, waar je in een statische tekst dynamische velden gaat vervangen (vb. om een mailing te personaliseren).
Om heel eerlijk te zijn lijkt die code ook echt nergens op... Enkel public member vars? Member vars die totaal irrelevant zijn voor het object in kwestie (een producent moet op zich een object zijn ipv er member vars voor te creƫren in je product object). Dat zijn toch dingen waar auteurs eens wat meer aandacht aan mogen besteden imho. Tenzij ze dit als slechte werkwijze voorschotelen en het daarna corrigeren uiteraard...Last edited by dJeez; 06-10-2011 at 02:02.
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
06-10-2011, 11:50 #5
het "public" vs "private" gedeelte van het boek kwam pas na het gedeelte waar dat snippet in stond, vandaar wellicht dat hij er nog geen private of protected gebruikte
in ieder geval bedankt voor jullie antwoorden!no votes
