/** * Compile Di definitions * * @return array */ private function getDefinition() { if (!file_exists(CACHE_PATH . $this->definitionFile)) { $diCompiler = new CompilerDefinition(); $diCompiler->addDirectory(ROOT_PATH . 'system/mobicms'); $diCompiler->compile(); $definition = $diCompiler->toArrayDefinition()->toArray(); file_put_contents(CACHE_PATH . $this->definitionFile, '<?php return ' . var_export($definition, true) . ';'); return $definition; } else { return include CACHE_PATH . $this->definitionFile; } }
#!/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);