Esempio n. 1
0
 public function testCompilerFileScanner()
 {
     $definition = new CompilerDefinition();
     $definition->addCodeScannerFile(new FileScanner(__DIR__ . '/../TestAsset/CompilerClasses/C.php'));
     $definition->addCodeScannerFile(new FileScanner(__DIR__ . '/../TestAsset/CompilerClasses/D.php'));
     $definition->addCodeScannerFile(new FileScanner(__DIR__ . '/../TestAsset/CompilerClasses/E.php'));
     $definition->compile();
     $this->assertContains('ZendTest\\Di\\TestAsset\\CompilerClasses\\C', $definition->getClassSupertypes('ZendTest\\Di\\TestAsset\\CompilerClasses\\D'));
     $this->assertContains('ZendTest\\Di\\TestAsset\\CompilerClasses\\C', $definition->getClassSupertypes('ZendTest\\Di\\TestAsset\\CompilerClasses\\E'));
     $this->assertContains('ZendTest\\Di\\TestAsset\\CompilerClasses\\D', $definition->getClassSupertypes('ZendTest\\Di\\TestAsset\\CompilerClasses\\E'));
 }
#!/usr/bin/env php
<?php 
use Zend\Code\Scanner\FileScanner as CodeFileScanner;
use Zend\Di\Definition\CompilerDefinition;
// Autoloader
$vendorDirname = __DIR__ . '/../._test/ZendSkeletonApplication/vendor';
$loader = (require $vendorDirname . '/autoload.php');
$loader->add('WebinoImageThumb', __DIR__ . '/../src');
// Compile Di Definition
$diCompiler = new CompilerDefinition();
$diCompiler->addDirectory(__DIR__ . '/../src');
foreach (array() as $file) {
    $diCompiler->addCodeScannerFile(new CodeFileScanner($file));
}
$diCompiler->compile();
$definition = $diCompiler->toArrayDefinition()->toArray();
$dir = __DIR__ . '/../data/di';
is_dir($dir) or mkdir($dir);
file_put_contents($dir . '/definition.php', '<?php ' . PHP_EOL . 'return ' . var_export($definition, true) . ';' . PHP_EOL);