login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP]OOP , wat is het beste? (Opgelost)

Offline Esli - 26/01/2010 21:46 (laatste wijziging 26/01/2010 21:47)
Avatar van EsliPHP interesse Hallo,

Ik heb me de laatste tijd zitten te verdiepen in OOP. Nu de ene doet het wat anders dan de andere (logisch?). Ik vraag me nu eigenlijk af wat uit jullie ervaring de beste methode is. Ik leg even kort uit wat ik precies bedoel met die methodes.

Methode 1
  1. <?php
  2. class template
  3. {
  4. //vars etc, nu voor vb weggelaten
  5. public setTitel($iets) { //iets meer }
  6. public getTitel($iets) { //iets meer }
  7. public setContent($iets) { //iets meer }
  8. public getContent($iets) { //iets meer }
  9. }
  10. /* Voor alle duidelijkheid, het is maar om het even duidelijk te maken */

Methode 2
  1. <?php
  2. //alle template functies
  3. class template_titel
  4. {
  5. public settitel($iets) { //iets meer }
  6. public gettitel($iets) { //iets meer }
  7. }
  8. class content
  9. {
  10. public setcontent($iets) {//iets meer }
  11. public getcontent($iets) {//iets meer}
  12. }
  13. //zo is het wel duidelijk?
  14. /* Voor alle duidelijkheid, het is maar om het even duidelijk te maken */


Wat denken jullie?

8 antwoorden

Gesponsorde links
Offline MiST - 26/01/2010 22:07
Avatar van MiST Lid Je moet je klassen als een logisch geheel definiëren.

Methode twee lijkt me dus al helemaal uit den boze. Verder hebben getters in principe nooit argumenten en returnen setters normaal gezien niets. Dit is echter maar een richtlijn en hier doe je mee wat je wil.

Offline avdg - 26/01/2010 23:35
Avatar van avdg PHP gevorderde Als je verder in oop wilt verdiepen, raad ik je aan wat opzoekwerk te verichten over design patterns
Offline Tuinstoel - 27/01/2010 00:10 (laatste wijziging 27/01/2010 00:13)
Avatar van Tuinstoel PHP expert Het idee van OO is dat je in objecten denkt, en doet. Een klasse is daarbij een beschrijving van attributen en functies van gelijksoortige objecten. Ik denk dat het met Java wat beter te begrijpen is dan met PHP.

Ik vind dus je "methodes" wat te kort om een goede impressie te krijgen van wat je in feite nou wil met je website.

En ik sluit mij overigens aan wat hier boven is gezet. Je moet je er nog wel wat meer in verdiepen. Methode 2 is natuurlijk een onlogisch model.
Offline Stijn - 27/01/2010 11:53
Avatar van Stijn PHP expert Head first design patterns is een uitstekend boek :-). Hier kan je een zip downloaden waarin twee hoofdstukken zitten over hoe je klasse structuren kan opbouwen (het is wel engels). Ze zijn zeer goed begrijpbaar als je ze rustig doorneemt.

Nog een kleine opmerking. De naam van je klasse begint met een hoofdletter!
Offline Esli - 27/01/2010 12:11
Avatar van Esli PHP interesse Bedankt voor jullie reacties :-)

Ik vond de 2de methode eerlijk gezegd ook omslachtig, toch heb ik ze in twee tutorial tegen gekomen.

Verder @ MiST: Weet ook wel set & get, ik wou hier gewoon de manier waarop de methodes in classes zijn verdeeld even geven.

@Stijn. Bedankt voor de info. Ben wel niet meer akkoord met: "De naam van je klasse begint met een hoofdletter!". Dit is één van de conventies (die van Zend?), niemand zegt dat dit moet. Maar om je even gerust te stellen, ik doe het met hoofdletter hoor :-). (Hier gewoon om snel te illustreren niet opgelet :-))
Offline Stijn - 27/01/2010 12:16
Avatar van Stijn PHP expert Het moet niet maar kijk eens naar alle klasses. Die beginnen met een hoofdletter. Kijk hier maar eens
Offline MiST - 27/01/2010 13:06
Avatar van MiST Lid In OOP is het de conventie dat namen van klassen beginnen met een hoofdletter en namen van methodes met kleine letters. Verder worden de camel casing regels gebruikt.

Niemand verbiedt je om op je eentje anders te gaan doen dan de conventie, maar iedereen gaat je wel erg vreemd bekijken ;)
Offline Esli - 27/01/2010 15:45
Avatar van Esli PHP interesse
MiST schreef:
In OOP is het de conventie dat namen van klassen beginnen met een hoofdletter en namen van methodes met kleine letters. Verder worden de camel casing regels gebruikt.

Niemand verbiedt je om op je eentje anders te gaan doen dan de conventie, maar iedereen gaat je wel erg vreemd bekijken ;)


Dat gaf ik toch al aan, ik weet dat er conventies zijn, ik pas die trouwens toe. Maar goed, ik ga er verder niet op in gaan...

Als er nog mensen zijn met tips: Ik hoor ze graag :-)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s