Exemplo n.º 1
0
 /**
  * Recursively process asset
  * @param array $dependencies Collection of assets for compilation
  */
 protected function processAsset($dependencies)
 {
     foreach ($dependencies as $source => $nothing) {
         // Read asset content
         $content = $this->fileManager->read($source);
         $extension = pathinfo($source, PATHINFO_EXTENSION);
         // Resource dependant resources
         $innerDependencies = [];
         // Compile content
         $compiled = $content;
         Event::fire(self::E_COMPILE, [$source, &$extension, &$compiled, &$innerDependencies]);
         // Write compiled asset
         $target = $this->getAssetProcessedPath($source);
         $this->fileManager->write($target, $compiled);
         $this->fileManager->touch($target, $this->fileManager->lastModified($source));
         // Go deeper in recursion
         $this->processAsset($innerDependencies);
     }
 }