diff --git a/src/Phug/Renderer/Adapter/FileAdapter.php b/src/Phug/Renderer/Adapter/FileAdapter.php index f61140b..82a366f 100644 --- a/src/Phug/Renderer/Adapter/FileAdapter.php +++ b/src/Phug/Renderer/Adapter/FileAdapter.php @@ -154,25 +154,23 @@ public function cacheDirectory($directory) $errorDetails = []; $renderer = $this->getRenderer(); + $events = $renderer->getCompiler()->getEventListeners(); foreach ($renderer->scanDirectory($directory) as $inputFile) { $renderer->initCompiler(); $compiler = $renderer->getCompiler(); + $compiler->mergeEventListeners($events); $path = $inputFile; $this->isCacheUpToDate($path); $sandBox = $this->getRenderer()->getNewSandBox(function () use (&$success, $compiler, $path, $inputFile) { $this->cacheFileContents($path, $compiler->compileFile($inputFile), $compiler->getCurrentImportPaths()); $success++; }); + $error = $sandBox->getThrowable(); - if ($sandBox->getThrowable()) { + if ($error) { $errors++; - $errorDetails[] = [ - 'directory' => $directory, - 'inputFile' => $inputFile, - 'path' => $path, - 'error' => $sandBox->getThrowable(), - ]; + $errorDetails[] = compact(['directory', 'inputFile', 'path', 'error']); } } diff --git a/src/Phug/Renderer/Partial/RendererOptionsTrait.php b/src/Phug/Renderer/Partial/RendererOptionsTrait.php index c9c3ae0..3db3389 100644 --- a/src/Phug/Renderer/Partial/RendererOptionsTrait.php +++ b/src/Phug/Renderer/Partial/RendererOptionsTrait.php @@ -161,14 +161,6 @@ public function initCompiler() ); } - if (isset($this->compiler)) { - $events = $this->compiler->getEventListeners(); - } - $this->compiler = new $compilerClassName($this->getOptions()); - - if (isset($events)) { - $this->compiler->mergeEventListeners($events); - } } }