AssetCompress\Factory::compiler PHP Method

compiler() public method

Create an AssetCompiler
public compiler ( boolean $debug = false ) : MiniAsset\AssetCompiler
$debug boolean Not used - Configure is used instead.
return MiniAsset\AssetCompiler
    public function compiler($debug = false)
    {
        return new AssetCompiler($this->filterRegistry(), Configure::read('debug'));
    }

Usage Example

 /**
  * Checks if request is for a compiled asset, otherwise skip any operation
  *
  * @param Event $event containing the request and response object
  * @throws NotFoundException
  * @return void|Response if the client is requesting a recognized asset, null otherwise
  */
 public function beforeDispatch(Event $event)
 {
     $request = $event->data['request'];
     $response = $event->data['response'];
     $config = $this->_getConfig();
     $production = !Configure::read('debug');
     if ($production && !$config->general('alwaysEnableController')) {
         return;
     }
     // Make sure the request looks like an asset.
     $targetName = $this->getName($config, $request->url);
     if (!$targetName) {
         return;
     }
     if (isset($request->query['theme'])) {
         $config->theme($request->query['theme']);
     }
     $factory = new Factory($config);
     $assets = $factory->assetCollection();
     if (!$assets->contains($targetName)) {
         return;
     }
     $build = $assets->get($targetName);
     try {
         $compiler = $factory->compiler();
         $cacher = $factory->cacher();
         if ($cacher->isFresh($build)) {
             $contents = $cacher->read($build);
         } else {
             $contents = $compiler->generate($build);
             $cacher->write($build, $contents);
         }
     } catch (Exception $e) {
         throw new NotFoundException($e->getMessage());
     }
     $response->type($build->ext());
     $response->body($contents);
     $event->stopPropagation();
     return $response;
 }