PHP Classes

Een manier om je code goed te kunnen houden, is het werken met classes. Een class staat voor een object waar je vervolgens met properties en methods opdrachten aan geeft. De class zelf kun je apart houden van je site en daardoor kun je makkelijker updates maken en zorgen voor aanpassingen.

Voorbeeld class starten in PHP:

<?php
class NaamClass {
// code
} 
?>  

Met "class” start je het project op. Daarna volgt de naam van je class. Deze naam van de class start met een hoofdletter. Elk woord in de naam van de class start je vervolgens steeds met een hoofdletter. Dit is de gangbare wijze onder programmeurs om dit zo te doen. De haakjes geven aan dat daarbinnen de code van de class komt te staan.

Properties

Binnen de class gaat het gebeuren. Om iets te kunnen, moet je werken met variabelen of in geval van een class heten dat properties. Properties kunnen string, integers en boolean waarden omvatten. Hoe ziet dat eruit?

class Huis {
public $materiaal;
public $dak = 'plat';
public $tuinAanwezig = true;
}

In onze class Huis staan nu 3 properties, namelijk materiaal, dak en tuin. Het $-teken geeft aan dat het een property (of variabele in normale funties) betreft. Het benoemen van een property gaat volgens een vaste regel. Het eerste woord is met een kleine letter. Het tweede en volgende woord start met een hoofdletter. In ons voorbeeld heeft de property dak een standaard waarde gekregen. De property tuinAanwezig is een boolean en kan true of false hebben als waarde.

Class gebruiken

Heb je een class ontworpen, dan wil je deze ook gebruiken. Dat doe je in je pagina. Let op dat een class meerdere keren achter elkaar gebruikt mag worden. Daardoor hoef je maar 1x de code te bouwen, het gebruiken is daarna eindeloos.

$woning = new Huis();
$woning1 = new Huis();

In dit geval maken we 2 objecten aan, namelijk woning en woning1. Door het woord “new” geef je PHP de opdracht een nieuw object aan te maken vanuit de class. In het Engels heet dit proces “instantiation”.

Doordat we meerdere objecten uit dezelfde class kunnen maken, kunnen we ieder object de eigen specifieke properties meegeven die we willen. Hoewel dit voordeel nu misschien nog lastig is in te schatten, zal dit later bij het bouwen steeds meer voordeel gaan hebben.

Als een object is gecreƫerd dan kunnen we de properties een waarde gaan geven. In dit geval kunnen we aangeven dat het huis van hout is gebouwd, het een puntdak heeft en geen tuin heeft. Hoe we dat doen?

$woning -> materiaal = 'hout';
$woning -> dak = 'puntdak';
$woning -> tuinAanwezig = false;

echo $woning-> materiaal;
echo $woning -> dak;
echo $woning -> tuinAanwezig;

Op deze manier kun je het object dus gaan inzetten op de wijze zoals jij dat wilt. Je hoeft nu niet iedere keer de code opnieuw te schrijven, alleen maar een object aan te maken en de juiste waarden mee te geven. In ons voorbeeld is dit misschien nog wat veel code voor je gevoel. Maar stel je voor dat je daarna ingewikkelde berekeningen gaat maken met de waarden, dan hoef je dit maar 1x te doen. Door het aanroepen van een object met de juiste waarden kun je volstaan om steeds weer dezelfde berekening uit te voeren.