AutoloaderLocator

in package

Methods

publicstaticautoload() : ClassLoader

Returns

ClassLoader

Attempts to find the location of the vendor folder.

publicstaticfindVendorPath([string $baseDir = __DIR__ ]) : string

This method tries to check for a autoload.php in a directory 4 levels above the folder of this Bootstrap file. This is the expected location if phpDocumentor is installed using composer because the current directory for this file is expected to be 'vendor/phpdocumentor/phpdocumentor/src/phpDocumentor'. This approach will work independently from the name of the vendor directory.

If not found, it will get the value of a COMPOSER_VENDOR_DIR environment variable and use it as vendor directory name if not empty.

If it's not specified, it will check if it is a standalone install (e.g. via git) and will look for a composer.json file 2 levels above as we are supposed to be in 'src/phpDocumentor' (The configuration file can be named differently based on the COMPOSER environment variable). If this file contains a vendor-dir entry, its value will be used for the vendor directory location.

If none of these has a specified value, it will use the default 'vendor' directory name.

Finally, if the directory doesn't exist, it will throw an exception.

Parameters

$baseDir : string = __DIR__

parameter for test purposes only.

Throws

\RuntimeException

If the vendor directory is not findable.

Returns

string

The vendor directory path

Retrieves the custom composer configuration path based on the {@link https://getcomposer.org/doc/03-cli.md#composer COMPOSER environment variable} or returns the default 'composer.json'.

publicstaticfindComposerConfigurationPath() : string

Returns

string

Retrieves the custom vendor directory name from the {@link https://getcomposer.org/doc/03-cli.md#composer-vendor-dir COMPOSER_VENDOR_DIR environment variable}, from the {@link https://getcomposer.org/doc/06-config.md#vendor-dir vendor-dir entry} of the given composer.json, or returns 'vendor'.

privatestaticgetCustomVendorPathFromComposer(string $composerConfigurationPath) : string

Parameters

$composerConfigurationPath : string

the path pointing to the composer.json

Returns

string