ClassManifest
class ClassManifest (View source)
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
__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.
init(bool $includeTests = false, bool $forceRegen = false)
Initialise the class manifest
Parser
getParser()
Get or create active parser
NodeTraverser
getTraverser()
Get node traverser for parsing class files
ClassManifestVisitor
getVisitor()
Get visitor for parsing class files
string|null
getItemPath(string $name)
Returns the file path to a class or interface if it exists in the manifest.
string
getItemName(string $name)
Return correct case name
array
getClasses()
Returns a map of lowercased class names to file paths.
array
getClassNames()
Returns a map of lowercase class names to proper class names in the manifest
array
getTraits()
Returns a map of lowercased trait names to file paths.
array
getTraitNames()
Returns a map of lowercase trait names to proper trait names in the manifest
array
getDescendants()
Returns an array of all the descendant data.
array
getDescendantsOf(string|object $class)
Returns an array containing all the descendants (direct and indirect) of a class.
array
getInterfaces()
Returns a map of lowercased interface names to file locations.
array
getInterfaceNames()
Return map of lowercase interface names to proper case names in the manifest
array
getImplementors()
Returns a map of lowercased interface names to the classes the implement them.
array
getImplementorsOf(string $interface)
Returns an array containing the class names that implement a certain interface.
Module
getOwnerModule(string $class)
Get module that owns this class
regenerate(bool $includeTests)
Completely regenerates the manifest file.
handleFile(string $basename, string $pathname, bool $includeTests)
Visit a file to inspect for classes, interfaces and traits