Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function load(Autoloader $autoloader)
 {
     if (!isset($this->manifest['autoload']) or !is_array($this->manifest['autoload'])) {
         return;
     }
     if (isset($this->manifest['autoload']['psr-4'])) {
         assume(is_array($this->manifest['autoload']['psr-4']));
         foreach ($this->manifest['autoload']['psr-4'] as $namespace => $path) {
             if (is_array($path)) {
                 foreach ($path as $p) {
                     $autoloader->addPath($namespace, $this->path . '/' . trim($p, '/'));
                 }
             } else {
                 $autoloader->addPath($namespace, $this->path . '/' . trim($path, '/'));
             }
         }
     }
     if (isset($this->manifest['autoload']['psr-0'])) {
         assume(is_array($this->manifest['autoload']['psr-0']));
         foreach ($this->manifest['autoload']['psr-0'] as $namespace => $path) {
             if (is_array($path)) {
                 foreach ($path as $p) {
                     $autoloader->addPath($namespace, $this->path . '/' . trim($p, '/'), false, true);
                 }
             } else {
                 $autoloader->addPath($namespace, $this->path . '/' . trim($path, '/'), false, true);
             }
         }
     }
     if (isset($this->manifest['autoload']['classmap'])) {
         assume(false, 'classmap support not implemented');
     }
     if (isset($this->manifest['autoload']['files'])) {
         assume(is_array($this->manifest['autoload']['files']));
         foreach ($this->manifest['autoload']['files'] as $file) {
             require $this->path . '/' . $file;
         }
     }
 }