Files
michaelschiemer/src/Framework/DI/BindingRegistry.php

37 lines
757 B
PHP

<?php
namespace App\Framework\DI;
/**
* Verwaltet alle Service-Bindings
*/
final class BindingRegistry
{
private array $bindings = [];
public function bind(string $abstract, callable|string|object $concrete): void
{
$this->bindings[$abstract] = $concrete;
}
public function hasBinding(string $abstract): bool
{
return isset($this->bindings[$abstract]);
}
public function getBinding(string $abstract): callable|string|object|null
{
return $this->bindings[$abstract] ?? null;
}
public function forget(string $abstract): void
{
unset($this->bindings[$abstract]);
}
public function getAllBindings(): array
{
return array_keys($this->bindings);
}
}