- – für gemeinsam genutzte Instanzen
Code: Select all
singleton() - – zum Erstellen neuer Instanzen jedes Mal
Code: Select all
factory() - – zum manuellen Bereitstellen einer vorhandenen Instanz
Code: Select all
instance()
Code: Select all
class Container
{
private array $factories = [];
private array $instances = [];
private array $singletons = [];
public function singleton(string $abstract, callable|string $concrete = null): void
{
$this->singletons[$abstract] = $concrete;
}
public function factory(string $abstract, callable|string $concrete): void
{
$this->factories[$abstract] = $concrete;
}
public function instance(string $abstract, object $instance): void
{
$this->instances[$abstract] = $instance;
}
// ... other container logic here
}
Mobile version