Exemple #1
0
 /**
  * Finds and adds theme file resources.
  *
  * @param ResourceLocator $locator
  */
 public function registerResources(ResourceLocator $locator)
 {
     $root = $this->getPath();
     $addResources = function ($config, $prefix = '') use($root, $locator) {
         foreach ($config as $scheme => $resources) {
             if (strpos($scheme, '://') > 0 && ($segments = explode('://', $scheme, 2))) {
                 list($scheme, $prefix) = $segments;
             }
             $resources = (array) $resources;
             array_walk($resources, function (&$resource) use($root) {
                 $resource = "{$root}/{$resource}";
             });
             $locator->addPath($scheme, $prefix, $resources);
         }
     };
     $addResources($this->getConfig('resources.export', []), $this->getName());
     $addResources($this->getConfig('resources.override', []), $this->getName());
 }