Example #1
0
 public function testRegisterFactory()
 {
     $registry = new Registry();
     $registry->register(new Bob());
     $registry->registerFactory("{$this->ns}\\PersonGreeterInterface", function (Person $person, $debug = false, $swag = 'optional') {
         if ($debug) {
             // Do something
         }
         return new PersonGreeter($person);
     });
     $object = $registry->get("{$this->ns}\\PersonGreeterInterface", '', array(1 => true));
     $this->assertInstanceOf("{$this->ns}\\PersonGreeter", $object);
     $this->assertEquals('Hello Bob', $object->greet());
 }