コード例 #1
0
ファイル: DI.php プロジェクト: panlatent/pure
 /**
  * 构造函数, 可以为DI指定对象容器和对象提供者类, 若不指定则使用内置的默认容器和默认对象提供者类
  *
  * @param \Pure\Container   $container
  * @param \Pure\DI\Provider $provider
  */
 public function __construct(Container $container = null, Provider $provider = null)
 {
     $this->_container = $container ?: new Container();
     $this->_provider = $provider ?: new ProviderDefault();
     $providerInject = new InjectFactory($this, $this->_provider);
     $providerInject->isAccept() and $this->_provider = $providerInject->getInstance();
     $this->_provider->register();
 }
コード例 #2
0
ファイル: InjectFactoryTest.php プロジェクト: panlatent/pure
 public function testIsAccept()
 {
     $injectFactory = new InjectFactory($this->di, 'DI\\InjectA');
     $this->assertTrue($injectFactory->isAccept());
     $injectFactory = new InjectFactory($this->di, 'DI\\InjectB');
     $this->assertTrue($injectFactory->isAccept());
     $injectFactory = new InjectFactory($this->di, $this);
     $this->assertFalse($injectFactory->isAccept());
 }