public function __construct() { $injector = new Injector(); $injector->bindToInstance(Injector::class, $injector); $this->viewSettings = $injector->get(ViewSettings::class); $this->viewSettings->templatePath = __DIR__ . '/templates/'; }
public function testInjectBoundInstance() { $bar = new Bar(); $injector = new Injector(); $injector->bindToInstance('Di\\test\\Bar', $bar); $foo = $injector->get('Di\\test\\Foo'); $this->assertTrue($bar === $foo->bar); $this->assertTrue($foo->bar instanceof Bar); }
<?php ini_set('display_errors', '1'); require_once 'config.php'; require_once 'src/imports.php'; use controller\MasterController; use Di\Injector; use Template\ViewSettings; try { $injector = new Injector(); $injector->bindToInstance(Injector::class, $injector); $injector->get(ViewSettings::class)->templatePath = 'src/templates/'; $masterController = $injector->get(MasterController::class); echo $masterController->render(); } catch (\Exception $e) { include 'error.php'; $type = get_class($e); $message = $e->getMessage(); $trace = $e->getTraceAsString(); error_log(<<<ERROR ==================================================================================== Uncaught Exception: {$type} {$message} StackTrace: {$trace} ==================================================================================== ERROR );