ComposerDir.php in X Autoload 7.4
File
lib/Discovery/ComposerDir.php
View source
<?php
namespace Drupal\xautoload\Discovery;
use Drupal\xautoload\Adapter\ClassFinderAdapter;
class ComposerDir {
protected $dir;
static function create($dir) {
if (!is_dir($dir)) {
throw new \Exception("Composer directory '{$dir}' does not exist.");
}
return new self($dir);
}
protected function __construct($dir) {
$this->dir = $dir;
}
function writeToAdapter($adapter) {
if (is_file($this->dir . '/autoload_namespaces.php')) {
$prefixes = (require $this->dir . '/autoload_namespaces.php');
if (!empty($prefixes)) {
$adapter
->addMultiplePsr0($prefixes);
}
}
if (is_file($this->dir . '/autoload_psr4.php')) {
$map = (require $this->dir . '/autoload_psr4.php');
if (!empty($map)) {
$adapter
->addMultiplePsr4($map);
}
}
if (is_file($this->dir . '/autoload_classmap.php')) {
$class_map = (require $this->dir . '/autoload_classmap.php');
if (!empty($class_map)) {
$adapter
->addClassMap($class_map);
}
}
if (is_file($this->dir . '/include_paths.php')) {
$include_paths = (require $this->dir . '/include_paths.php');
if (!empty($include_paths)) {
array_push($include_paths, get_include_path());
set_include_path(join(PATH_SEPARATOR, $include_paths));
}
}
if (is_file($this->dir . '/autoload_files.php')) {
$include_files = (require $this->dir . '/autoload_files.php');
foreach ($include_files as $file) {
require $file;
}
}
}
}