function render(View $view, array $arguments) { if (count($arguments) !== 1) { throw new \InvalidArgumentException('Exactly one view class must be specified'); } $injectedView = $this->injector->get($arguments[0]); return $injectedView->render(); }
public function testAdvancedInject() { $injector = new Injector(); $advanced = $injector->get('Di\\test\\Advanced'); $this->assertTrue($advanced->bar instanceof Bar); $this->assertTrue($advanced->foo instanceof Foo); $this->assertTrue($advanced->foo->bar instanceof Bar); $this->assertTrue($advanced->bar === $advanced->foo->bar); }
public function testHasFollowsUpIntoParentInjectors() { $injector = new Injector(); $child = new Injector($injector); $this->assertFalse($injector->has(A::class)); $this->assertFalse($child->has(A::class)); $a = $injector->get(A::class); $this->assertTrue($child->has(A::class)); }