ClassManifest
class ClassManifest
A utility class which builds a manifest of all classes, interfaces and caches it.
It finds the following information: - Class and interface names and paths. - All direct and indirect descendants of a class. - All implementors of an interface.
To be consistent; In general all array keys are lowercase, and array values are correct-case
Methods
Constructs and initialises a new class manifest, either loading the data from the cache or re-scanning for classes.
Initialise the class manifest
Get or create active parser
Get node traverser for parsing class files
Get visitor for parsing class files
Returns the file path to a class or interface if it exists in the manifest.
Return correct case name
Returns a map of lowercased class names to file paths.
Returns a map of lowercase class names to proper class names in the manifest
Returns a map of lowercased trait names to file paths.
Returns a map of lowercase trait names to proper trait names in the manifest
Returns an array of all the descendant data.
Returns an array containing all the descendants (direct and indirect) of a class.
Returns a map of lowercased interface names to file locations.
Return map of lowercase interface names to proper case names in the manifest
Returns a map of lowercased interface names to the classes the implement them.
Returns an array containing the class names that implement a certain interface.
Get module that owns this class
Completely regenerates the manifest file.
Visit a file to inspect for classes, interfaces and traits
Details
at line 185
__construct(string $base, CacheFactory $cacheFactory = null)
Constructs and initialises a new class manifest, either loading the data from the cache or re-scanning for classes.
at line 264
init(bool $includeTests = false, bool $forceRegen = false)
Initialise the class manifest
at line 286
Parser
getParser()
Get or create active parser
at line 300
NodeTraverser
getTraverser()
Get node traverser for parsing class files
at line 316
ClassManifestVisitor
getVisitor()
Get visitor for parsing class files
at line 332
string|null
getItemPath(string $name)
Returns the file path to a class or interface if it exists in the manifest.
at line 353
string
getItemName(string $name)
Return correct case name
at line 373
array
getClasses()
Returns a map of lowercased class names to file paths.
at line 383
array
getClassNames()
Returns a map of lowercase class names to proper class names in the manifest
at line 393
array
getTraits()
Returns a map of lowercased trait names to file paths.
at line 403
array
getTraitNames()
Returns a map of lowercase trait names to proper trait names in the manifest
at line 413
array
getDescendants()
Returns an array of all the descendant data.
at line 425
array
getDescendantsOf(string|object $class)
Returns an array containing all the descendants (direct and indirect) of a class.
at line 444
array
getInterfaces()
Returns a map of lowercased interface names to file locations.
at line 454
array
getInterfaceNames()
Return map of lowercase interface names to proper case names in the manifest
at line 465
array
getImplementors()
Returns a map of lowercased interface names to the classes the implement them.
at line 477
array
getImplementorsOf(string $interface)
Returns an array containing the class names that implement a certain interface.
at line 493
Module
getOwnerModule(string $class)
Get module that owns this class
at line 504
regenerate(bool $includeTests)
Completely regenerates the manifest file.
at line 544
handleFile(string $basename, string $pathname, bool $includeTests)
Visit a file to inspect for classes, interfaces and traits