Thread: Syntax

  1. #1

    Registered
    05/10/11
    Location
    Antwerpen
    Posts
    2
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    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:

    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}";
        }

    waarom wordt er hier gebruik gemaakt van accolades?
    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  

  2. #2
    piemel's Avatar
    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  

  3. #3
    Tyfius's Avatar
    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:
    PHP Code:
    function getProducer() {
      return 
    "{$this->producerFirstName} {$this->producerLastName}";

    In ieder geval bevat de PHP manual een uitgebreidere uitleg en voorbeelden: Complex string parsing.
    Vanaf nu gaan we verder op BeyondGaming!
    In deze thread wordt uitgelegd hoe je jouw account kan migreren.
    no votes  

  4. #4
    dJeez's Avatar
    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 alieno
    Pastafarian by choice
    no votes  

  5. #5

    Registered
    05/10/11
    Location
    Antwerpen
    Posts
    2
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    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  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in