コード例 #1
0
ファイル: DICTest.php プロジェクト: quenti77/phq
 /**
  * Permet de tester la facade DIC
  */
 public function testFacadeDIC()
 {
     DIC::set(Connection::class, function (DependencyResolver $dic) {
         return new Connection('test', 'root', '');
     });
     $this->assertCount(1, DependencyResolver::getInstance()->singletons);
     DIC::setFactory(Model::class, function (DependencyResolver $dic) {
         return new Model($dic->get(Connection::class));
     });
     $this->assertCount(1, DependencyResolver::getInstance()->factories);
     $emptyInstance = new EmptyConstruct();
     DIC::setInstance($emptyInstance);
     $this->assertCount(1, DependencyResolver::getInstance()->instancies);
     $connectionInstance = DIC::get(Connection::class);
     $this->assertInstanceOf(Connection::class, $connectionInstance);
     $this->assertSame('test', $connectionInstance->db_name);
     $constructorInstance = DIC::createInstance(new ReflectionClass(EmptyExistConstruct::class));
     $this->assertInstanceOf(EmptyExistConstruct::class, $constructorInstance);
 }
コード例 #2
0
ファイル: DIC.php プロジェクト: quenti77/phq
 /**
  * Permet d'instancier une classe avec la résolution du constructeur
  *
  * @param ReflectionClass $class
  * @return object
  * @throws DependencyException
  */
 public static function createInstance(ReflectionClass $class)
 {
     return DependencyResolver::getInstance()->createInstance($class);
 }
コード例 #3
0
 /**
  * Permet de tester si la classe n'a qu'une instance
  */
 public function testUniqueInstance()
 {
     $base = DependencyResolver::getInstance();
     $this->assertSame($base->getObjectId(), DependencyResolver::getInstance()->getObjectId());
 }