Een klasse in PHP is een blauwdruk voor objecten, een fundamenteel concept in objectgeoriënteerd programmeren (OOP). Een klasse definieert eigenschappen (variabelen) en methoden (functies) die de objecten van die klasse kunnen gebruiken. Klassen maken het mogelijk om de code beter te structureren, herbruikbaarheid te bevorderen en complexere systemen gemakkelijker te beheren.
Een PHP-klasse wordt gedefinieerd met het `class`-sleutelwoord, gevolgd door een naam en een paar accolades `{}` waarin de eigenschappen en methoden worden gedefinieerd. Hier is een eenvoudig voorbeeld:
```
class Auto {
public $merk;
public $model;
public $kleur;
In dit voorbeeld, hebben we een klasse `Auto` met drie eigenschappen (`merk`, `model`, en `kleur`) en twee methoden (`__construct` en `beschrijf`). De `__construct`-methode is een speciale functie die wordt aangeroepen wanneer een nieuw object van de klasse wordt gemaakt. De `beschrijf`-methode retourneert een beschrijvende string van de auto.
Om een object van een klasse te maken, gebruik je het `new`-sleutelwoord:
```
$auto1 = new Auto(“Toyota”, “Corolla”, “rood”);
echo $auto1->beschrijf(); // Output: Deze auto is een rood Toyota Corolla.
?>
```
PHP ondersteunt drie toegangsniveaus voor eigenschappen en methoden:
1. `public`: Eigendommen en methoden zijn toegankelijk vanaf elke plek in de code.
2. `protected`: Eigendommen en methoden zijn alleen toegankelijk vanuit de klasse zelf en afgeleide klassen.
3. `private`: Eigendommen en methoden zijn alleen toegankelijk vanuit de klasse zelf.
Hier is een voorbeeld met `protected` en `private` eigenschappen:
```
class BankRekening {
private $saldo;
protected $rekeningnummer;
$rekening = new BankRekening(100);
$rekening->stort(50);
echo $rekening->getSaldo(); // Output: 150
?>
```
In dit voorbeeld is `$saldo` een `private` eigenschap, wat betekent dat het alleen binnen de `BankRekening` klasse toegankelijk is. De `$rekeningnummer` eigenschap is `protected`, wat betekent dat het toegankelijk is binnen de `BankRekening` klasse en elke subklasse daarvan.
Erfelijkheid is een ander belangrijk concept in OOP. Het stelt een klasse in staat om eigenschappen en methoden over te nemen van een andere klasse. Bijvoorbeeld:
```
class ElectrischeAuto extends Auto {
public $batterijCapaciteit;
$tesla = new ElectrischeAuto(“Tesla”, “Model S”, “blauw”, 100);
echo $tesla->beschrijf(); // Output: Deze auto is een blauw Tesla Model S. Het heeft een batterijcapaciteit van 100 kWh.
?>
```
De `ElectrischeAuto` klasse erft van de `Auto` klasse en voegt een extra eigenschap (`batterijCapaciteit`) toe, en herdefinieert de `beschrijf` methode om aanvullende informatie te verstrekken.
1. [PHP Manual: Classes and Objects](https://www.php.net/manual/en/language.oop5.php)
2. [W3Schools PHP OOP](https://www.w3schools.com/php/php_oop_classes_objects.asp)
3. [TutorialsPoint – PHP – Classes and Objects](https://www.tutorialspoint.com/php/php_object_oriented.htm)