コード例 #1
0
ファイル: UglyDiTest.php プロジェクト: GeeH/UglyDi
 protected function setUp()
 {
     $cacheDir = './tests/UglyDiTest/cache';
     $this->generator = new Generator($cacheDir, new Slugifier());
     $this->di = new UglyDi($this->generator);
     $this->di->setAlwaysGenerate(true);
 }
コード例 #2
0
ファイル: GeneratorTest.php プロジェクト: GeeH/UglyDi
 public function testGenerationForClassWithLotsOfDependencies()
 {
     /**
      * BAD COPY AND PASTE JOB, MAKE BETTER
      *
      */
     $className = Adapter::class;
     $userParameters = ['driver' => ['driver' => 'Mysqli', 'database' => 'zend_db_example', 'username' => 'developer', 'password' => 'developer-password'], 'queryResultPrototype' => ResultSet::class];
     $cacheDir = './tests/UglyDiTest/cache';
     $generator = new Generator($cacheDir, new Slugifier());
     $uglyDi = new UglyDi($generator);
     $reflector = $uglyDi->getReflector($className);
     $arguments = $reflector->getConstructor()->getParameters();
     $result = $generator->generateFactory($className, $arguments, $userParameters);
     $this->assertTrue($result);
     $function = (require $generator->getFileName($className, $userParameters));
     $class = call_user_func($function, new UglyDi($generator), $className, $arguments);
     $this->assertInstanceOf($className, $class);
     $className = TableGateway::class;
     $userParameters = ['table' => 'table'];
     $reflector = $uglyDi->getReflector($className);
     $arguments = $reflector->getConstructor()->getParameters();
 }