Patterns
Hoofdstuk 5
Back-end
Courses
dev
Status Done
Singleton Pattern
Het Singleton-patroon zorgt ervoor dat er slechts één instantie van een klasse
bestaat en biedt een globaal toegangspunt tot die instantie. Dit is nuttig voor
resource-intensieve objecten zoals databaseverbindingen, omdat het voorkomt
dat er meerdere verbindingen worden gemaakt, wat inefficiënt kan zijn.
class Singleton {
private static $instance = null;
private $connection;
private function __construct() {
$this->connection = new PDO('mysql:host=localhost;dbname=test', 'root
}
public static function getInstance() {
if (self::$instance == null) {
self::$instance = new Singleton();
}
return self::$instance;
}
public function getConnection() {
return $this->connection;
Week 6 - Programming Design Patterns 1
, }
}
// Gebruik
$db = Singleton::getInstance()->getConnection();
Statische Methoden
Statische methoden in PHP kunnen worden aangeroepen zonder een instantie
van de klasse te maken. Ze worden gedeclareerd met het static sleutelwoord en
zijn handig voor functies die geen toegang nodig hebben tot object-specifieke
gegevens. Dit maakt ze ideaal voor utility-functies die algemene taken
uitvoeren.
class MathOperations {
public static function add($a, $b) {
return $a + $b;
}
}
// Gebruik
echo MathOperations::add(5, 10); // Output: 15
Abstracte Klasse
Een abstracte klasse kan niet direct worden geïnstantieerd en bevat vaak
gedeeltelijke implementaties die door subklassen moeten worden uitgebreid.
Dit is nuttig voor het definiëren van een gemeenschappelijke basis voor een
groep gerelateerde klassen. Abstracte methoden in een abstracte klasse
moeten door de subklassen worden geïmplementeerd.
abstract class Animal {
abstract public function makeSound();
public function sleep() {
echo "Sleeping...";
}
}
Week 6 - Programming Design Patterns 2