Singleton
Een singleton zorgt dat er maar één instantie van een klasse bestaat en dat iedereen dezelfde instantie gebruikt.
Kenmerken
- Private constructor voorkomt dat je elders met new een extra instantie maakt.
- Een static instance-method geeft je altijd dezelfde instantie terug.
- Handig voor gedeelde resources (database-connectie, config-loader), maar gebruik spaarzaam om testbaarheid te behouden.
In dit project heeft ./src/Controller/Database.php een private constructor en een instance-methode die een gedeelde instantie teruggeeft. Zo voorkom je meerdere databaseconnecties die elkaar in de weg zitten.
Singleton in PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
class Database
{
private static ?Database $instance = null;
private function __construct() {}
public static function instance(): Database
{
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
}
Navigatie
- Cursus informatie
- Voor de docent
- Contact formulier laten werken
- Focus en doel
- Ssh keys instellen
- Gitlab checkout
- Design uniek maken
- Omgeving instellen
- Kennistest
- Server starten
- Rondleiding
- Les 3 inhoud aanpassen
- Registreren
- Codebase updaten
- Unit tests draaien
- Webserver starten
- Home pagina basics
- Home pagina skills
- Home pagina overig
- Design patterns
- Zoek uit wat singleton is
- Adapter toepassing
- Factory gebruiken
- Adapter
- Factory
- Singleton