Door
john goes
op 12-03-2011 15:06
gewijzigd op 12-03-2011 15:21
1.673 views
Ik vond dat het tijd werd om over te gaan op OOP in php. Ik programmeer al vrij lang en vind het wel lastig om nu echt de voordelen van OOP te zien. Ik denk dat het voordeel is dat door het kleiner maken van de code (opdeling door specifiekere doelen), de herbruikbaarheid en overzicht vergroot word.
Ik heb de code toegevoegd en wil graag weten of ik op de goede weg ben. Het is een simpel stukje code de een tafel opdrukt op het scherm.
Je bent op de goede weg. Het is natuurlijk moeilijk om inhoudelijk commentaar te geven op zo'n abstract voorbeeld, maar er zitten in ieder geval geen fouten in.
Om het nog compacter te maken, zou je de KopTekst() method ook in de TafelUitvoer() method kunnen aanroepen zodat je vanuit je procedurele code maar 1 method hoeft aan te roepen.
Verder zou ik wel even je naamgeving in de gaten houden. Kies een conventie en zorg dat je je daar structureel aan houdt. Dat komt de overzichtelijkheid van je code zeker ten goede. Zoek eens op internet naar veel gebruikte naamgeving conventies binnen (PHP) OOP.
Bedankt voor je reaktie. Waar het mij in dit voorbeeld omging was hoever je moet gaan met het klein houden van de method. Ik denk dat ik daar een redelijk beeld van heb. Ik ben nu bezig met een klein spelletje (galgje) te maken in php in OOP vorm.
Als ik het klaar heb zal ik het plaatsen.
Ik heb wel gemerkt dat je dit niet op de ad-hoc methode moet maken, maar dat je meer vooruit moet denken. Dit vergt wel aanpassing van je programmeer methode.
Wat ik me eigenlijk afvroeg, als je de methods klein houd, heb je meer tekst in je php-script staan door dat je meer regels gebruikt. Is dit van invloed op de verwerkings snelheid? Of is OOP meer efficient waardoor dit niet uitmaakt?
Ik zou je niet zo druk maken om snelheid. 1 enkele query kost waarschijnlijk meer tijd dan het interpreteren van je hele code. Belangrijker is het dus je queries te optimaliseren en slim caches te gebruiken, hoe je code is niet zo belangrijk voor de snelheid, wel voor de overzichtelijkheid en 'onderhoudbaarheid'.
Kan iemand me een mooi Nederlands woord voor maintainability geven? ;)
?
Onbekende gebruiker
16-03-2011 23:41
Pim - op 16/03/2011 22:10:40
(...)
Kan iemand me een mooi Nederlands woord voor maintainability geven? ;)
Dit volstaat:
<?php
...
public function __construct($tafel) {
$this->_tafel = $tafel;
}
...
?>
Verder moet je eens nadenken over private <-> protected.
protected laat je toe dat klassen die van de jouwe zijn afgeleid ook toegang krijgen tot die eigenschappen ($this-> variabele) en methodes ($this-> functies).
Als je private gebruikt impliceer je dat het absoluut verboden moet zijn dat extends ooit die dingen kunnen aanroepen.
Het is uiteraard mogelijk dat je dat zo wil, maar misschien ook niet.