[Check] OOP class

  • Hallo,


    Momenteel ben ik bezig met het oefenen van OOP programmeren. Ik heb nu een class gemaakt wat werkt, maar is het ook op de juist manier en gebruikt ik niet teveel overbodige dingen in mijn class? Graag hoor ik van jullie.


    Mijn script:



    Alvast bedankt.

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Met Luc eens, een variable die (ik vermoed) als database connectie gaat moet je binnen de class houden, erbuiten is niet nodig.


    private - Only the current class will have access to the field or method.
    protected - Only the current class and subclasses (and sometimes also same-package classes) of this class will have access to the field or method.
    public - Any class can refer to the field or call the method.


    http://stackoverflow.com/quest…ject-oriented-programming

  • Met Luc eens, een variable die (ik vermoed) als database connectie gaat moet je binnen de class houden, erbuiten is niet nodig.


    private - Only the current class will have access to the field or method.
    protected - Only the current class and subclasses (and sometimes also same-package classes) of this class will have access to the field or method.
    public - Any class can refer to the field or call the method.


    http://stackoverflow.com/quest…ject-oriented-programming


    Nog een aanvullig hierop waarvan ik niet helemaal zeker weet of dit al doorgevoerd is in PHP maar vast en zeker gaat komen...
    Wanneer je geen public, protected of private gebruikt is het alleen toegestaan binnen de package waar je classe zich in bevindt. Vanaf PHP 5.3 kan je gebruik maken van packages in php namespaces genoemd.


    http://php.net/namespaces


    Citaat

    Bedankt, dit ga ik gelijk aanpassen. Hoe kan ik dat met de echo beter oplossen? Door een return of een hele andere manier?


    Het is gebruikelijk om je uitvoer/acties en je layout gescheiden te houden. Het meest gebruikte pattern is hiervan het MVC pattern. Dus eigenlijk echo je nooit wat maar return je de array die je vervolgens verwerkt in je layout/html bestanden.

  • Een object georienteerde class hoor je te kunnen hergebruiken zonder de code aan te passen. Dat kan in dit geval niet. Mocht ik een Engelse site hebben, zou ik de meldingen moeten aanpassen. Misschien wil ik wel dat er helemaal geen melding komt, maar dat hij alleen wordt gelogd.

  • Alles wat hierboven wordt gezegd klopt, maar wat ik nog niet heb gehoord is dat je fundamenteel de fout in gaat.


    Een melding, wat kan die? Een melding kan denk ik niet een melding opslaan of alle meldingen weergeven. Een melding is in jouw geval een domeinobject en heeft vooral dingen en kan niet zozeer iets zelf doen. Een melding heeft bijvoorbeeld een titel en een bericht.


    De class hierboven is daarom ook de MeldingService, en niet de melding zelf.. En dat object hoor je ook te hebben!

  • Bedankt allen. Ik heb even wat aanpassing gedaan en ben aan het nadenken hoe ik het beter zonder echo's of return's met tekst kan doen, maar met variabelen. Ik ben volgens mij een eindje op weg, maar ook op de goede weg?


Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!