Skip to content

Utilities to scan PHP code and generate class maps.

License

Notifications You must be signed in to change notification settings

stloyd/class-map-generator

 
 

Repository files navigation

composer/class-map-generator

Utilities to generate class maps and scan PHP code.

Continuous Integration

Installation

Install the latest version with:

$ composer require composer/class-map-generator

Requirements

  • PHP 7.2 is required.

Basic usage

If all you want is to scan a directory and extract a classmap with all classes/interfaces/traits/enums mapped to their paths, you can simply use:

use Composer\ClassMapGenerator\ClassMapGenerator;

$map = ClassMapGenerator::createMap('path/to/scan');
foreach ($map as $symbol => $path) {
    // do your thing
}

For more advanced usage, you can instantiate a generator object and call scanPaths one or more time then call getClassMap to get a ClassMap object containing the resulting map + eventual warnings.

use Composer\ClassMapGenerator\ClassMapGenerator;

$generator = new ClassMapGenerator;
$generator->scanPaths('path/to/scan');
$generator->scanPaths('path/to/scan2');

$classMap = $generator->getClassMap();
$classMap->sort(); // optionally sort classes alphabetically
foreach ($classMap->getMap() as $symbol => $path) {
    // do your thing
}

foreach ($classMap->getAmbiguousClasses() as $symbol => $paths) {
    // warn user about ambiguous class resolution
}

License

composer/class-map-generator is licensed under the MIT License, see the LICENSE file for details.

About

Utilities to scan PHP code and generate class maps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%