Пример #1
0
 public function __construct()
 {
     parent::__construct();
     $this->container = new Container();
     $this->container['cfg'] = function ($c) {
         return new Config();
     };
     $this->container['num'] = function ($c) {
         return 42;
     };
     $this->container->bind('Fixture\\Momonga', $this->momongaId, function ($c) {
         return new Momonga();
     });
 }
Пример #2
0
 private function getInjector()
 {
     $c = new Container();
     $c->bind('Fixture\\Momonga', 'momonga', function ($c) {
         return new Fixture\Momonga();
     });
     return new Dispatcher($c);
 }
Пример #3
0
 public function testGetByType()
 {
     $c = new Container();
     $this->assertNull($c->getByType('Fixture\\Momonga'));
     $c->bind('Fixture\\Momonga', 'momonga', function ($c) {
         return new Momonga();
     });
     $this->assertInstanceOf('Fixture\\Momonga', $c->getByType('Fixture\\Momonga'));
 }
Пример #4
0
 public function testBasicFacade()
 {
     $c = new Container();
     $c->bind('Fixture\\Lighter', 'lighter', function ($c) {
         return new Fixture\Lighter();
     });
     $c->facade('OilLighter', 'lighter');
     Container::setAsFacade($c);
     $goods = OilLighter::candle('Urushi', 'Sinjyu');
     $this->assertEquals('Sinjyu top of the Urushi', $goods);
 }
Пример #5
0
 public function testControllerArgs()
 {
     $c = new Container(['test' => $this]);
     $c->bind('Fixture\\Momonga', 'momonga', function ($c) {
         return new Momonga();
     });
     $r = new Router($c);
     $r->get('/', 'Fixture\\MomongaController@argtest');
     $req = Request::create('/');
     $res = $r->run($req);
     $this->assertEquals(200, $res->getStatusCode());
     $this->assertEquals('Momonga argtest', $res->getContent());
 }
Пример #6
0
 /**
  */
 public function testDiByType()
 {
     $test = $this;
     $c = new Container();
     $c->bind('Fixture\\Momonga', 'momonga', function ($c) {
         return new Momonga();
     });
     $r = new Router($c);
     $r->get('/', function (Momonga $m) use($test, $c) {
         $test->assertSame($c['momonga'], $m);
         return '';
     });
     $req = Request::create('/');
     $res = $r->run($req);
     $this->assertEquals(200, $res->getStatusCode());
 }
Пример #7
0
 public function testNotFrozen()
 {
     $c = new Container();
     $c['momonga'] = $c->factory(function ($c) {
         return new Momonga();
     });
     $c['momonga'];
     $c->bind('Fixture\\Momonga', 'momonga', function ($c) {
         return new Momonga();
     });
     $c = new Container();
     $c['momonga'] = 42;
     $c['momonga'];
     $c->bind('Fixture\\Momonga', 'momonga', function ($c) {
         return new Momonga();
     });
     $this->assertTrue(true);
 }