コード例 #1
0
 /**
  * Reduce aliases
  *
  * @param  string $name
  * @return string
  */
 protected function reduceAlias($name)
 {
     $aliases = $this->dumper->getAliases();
     if (isset($aliases[$name])) {
         return $this->reduceAlias($aliases[$name]);
     }
     return $name;
 }
コード例 #2
0
ファイル: DumperTest.php プロジェクト: royopa/OcraDiCompiler
 /**
  * Verifies that instances that cannot be built because of missing parameters in config will be ignored
  */
 public function testWillIgnoreInstancesWithMissingParameters()
 {
     $di = new Di();
     $dumper = new Dumper($di);
     $definitions = $dumper->getInjectedDefinitions(__NAMESPACE__ . '\\TestAsset\\DumperTestDummyInstanceWithDefinitions');
     $this->assertCount(0, $definitions);
 }
コード例 #3
0
ファイル: DiFactory.php プロジェクト: royopa/OcraDiCompiler
 /**
  * @param $config
  * @param null|Di $di
  * @return string
  */
 protected function getDiDefinitions($config, Di $di = null)
 {
     ErrorHandler::start();
     if ($arrayDefinitions = (include $config['ocra_di_compiler']['compiled_di_definitions_filename'])) {
         ErrorHandler::stop();
         return $config['ocra_di_compiler']['compiled_di_definitions_filename'];
     }
     ErrorHandler::stop();
     if (!$di) {
         $di = new Di();
         if (isset($config['di'])) {
             $diConfig = new DiConfig($config['di']);
             $diConfig->configure($di);
         }
     }
     $dumper = new Dumper($di);
     $definitionsCompiler = new ClassListCompilerDefinition();
     $definitionsCompiler->addClassesToProcess($dumper->getAllClasses());
     $definitionsCompiler->compile();
     $fileGenerator = new FileGenerator();
     $fileGenerator->setFilename($config['ocra_di_compiler']['compiled_di_definitions_filename']);
     $fileGenerator->setBody('return ' . var_export($definitionsCompiler->toArrayDefinition()->toArray(), true) . ';');
     $fileGenerator->write();
     return $config['ocra_di_compiler']['compiled_di_definitions_filename'];
 }