Go\Instrument\ClassLoading\AopComposerLoader::__construct PHP Method

__construct() public method

Constructs an wrapper for the composer loader
public __construct ( Composer\Autoload\ClassLoader $original, Go\Core\AspectContainer $container, array $options = [] )
$original Composer\Autoload\ClassLoader Instance of current loader
$container Go\Core\AspectContainer Instance of the container
$options array Configuration options
    public function __construct(ClassLoader $original, AspectContainer $container, array $options = [])
    {
        $this->options = $options;
        $this->original = $original;
        $prefixes = $original->getPrefixes();
        $excludePaths = $options['excludePaths'];
        if (!empty($prefixes)) {
            // Let's exclude core dependencies from that list
            if (isset($prefixes['Dissect'])) {
                $excludePaths[] = $prefixes['Dissect'][0];
            }
            if (isset($prefixes['Doctrine\\Common\\Annotations\\'])) {
                $excludePaths[] = substr($prefixes['Doctrine\\Common\\Annotations\\'][0], 0, -16);
            }
        }
        $fileEnumerator = new Enumerator($options['appDir'], $options['includePaths'], $excludePaths);
        $this->fileEnumerator = $fileEnumerator;
        $this->cacheState = $container->get('aspect.cache.path.manager')->queryCacheState();
    }