Пример #1
0
 public function make($name, $parameters = array())
 {
     return $this->container->make($name, $parameters);
 }
Пример #2
0
 public function testExtendedBindings()
 {
     $c = new Container();
     $c->bind('twig', 'ContainerSomeClass', true);
     $c->extend('twig', function (ContainerSomeClass $cls) {
         $cls->t = 555;
         return $cls;
     });
     $result = $c->make('twig');
     $this->assertEquals(555, $c->make('twig')->t);
     $this->assertSame($result, $c->make('twig'));
     $c->singleton('mailer', function () {
         return new ContainerSomeClass();
     });
     $c->extend('mailer', function (ContainerSomeClass $cls) {
         $cls->t = 777;
         return $cls;
     });
     $result = $c->make('mailer');
     $this->assertEquals(777, $c->make('mailer')->t);
     $this->assertSame($result, $c->make('mailer'));
     $c->singleton('q', 'ContainerSomeClass');
     $cls = $c->make('q');
     $this->assertEquals(1, $cls->t);
     $c->extend('q', function (ContainerSomeClass $cls) {
         $cls->t = 888;
         return $cls;
     });
     $this->assertEquals(888, $cls->t);
     $this->assertSame($cls, $c->make('q'));
 }