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();
 }
Пример #2
0
 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);
 }
Пример #3
0
 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));
 }