/** * @return array of (code, file[]) */ protected function generate($class, $generator) { $compiler = new Compiler(); $compiler->getContainerBuilder()->setClassName($class); $code = call_user_func_array($generator, [&$compiler]); $code = $code ?: implode("\n\n\n", $compiler->compile()); $files = $compiler->getDependencies(); $files = call_user_func($this->filter, $files); $files = array_combine($files, $files); return array("<?php\n{$code}", serialize(@array_map('filemtime', $files))); }
/** * @return array of (code, file[]) */ protected function generate($class, $generator) { $compiler = new Compiler(); $compiler->getContainerBuilder()->setClassName($class); $code = call_user_func_array($generator, array(&$compiler)); $code = $code ?: implode("\n\n\n", $compiler->compile()); $files = $compiler->getDependencies(); $files = $files ? array_combine($files, $files) : array(); // workaround for PHP 5.3 array_combine return array("<?php\n{$code}", serialize(@array_map('filemtime', $files))); }