updated comment, cleaner names
This commit is contained in:
parent
98e6c7fc64
commit
7d15313503
|
@ -3,31 +3,30 @@
|
||||||
namespace App\Service;
|
namespace App\Service;
|
||||||
|
|
||||||
use App\Controller\AddressBook;
|
use App\Controller\AddressBook;
|
||||||
use Exception;
|
|
||||||
use stdClass;
|
|
||||||
|
|
||||||
class Container
|
class Container
|
||||||
{
|
{
|
||||||
// no autowiring yet, maybe later, but it might fit for a demo
|
// caveat: Classes are always instantiated
|
||||||
|
// No autowiring (yet, maybe later, but it might fit for a demo)
|
||||||
|
|
||||||
private Template $template;
|
private Template $template;
|
||||||
private AddressBook $addressBook;
|
private AddressBook $addressBook;
|
||||||
|
private Router $router;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->template = new Template(templateDir: dirname(path: __DIR__, levels: 2) . '/templates/');
|
$this->template = new Template(templateDir: dirname(path: __DIR__, levels: 2) . '/templates/');
|
||||||
$this->addressBook = new AddressBook(template: $this->template);
|
$this->addressBook = new AddressBook(template: $this->template);
|
||||||
|
$this->router = new Router();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function get(string $className): object
|
||||||
/**
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public function get(string $class): stdClass
|
|
||||||
{
|
{
|
||||||
return match($class) {
|
return match ($className) {
|
||||||
'App\Controller\AddressBook' => $this->addressBook,
|
'App\Controller\AddressBook' => $this->addressBook,
|
||||||
default => throw new Exception(message: "Missing class definition: $class")
|
'App\Service\Router' => $this->router,
|
||||||
|
//default => throw new Exception(message: "Missing class definition: $class")
|
||||||
|
default => die("Missing class definition: $className")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue