ClassInfo
class ClassInfo implements Flushable (View source)
Provides introspection information about the class tree.
It's a cached wrapper around the built-in class functions. SilverStripe uses class introspection heavily and without the caching it creates an unfortunate performance hit.
Methods
This function is triggered early in the request if the "flush" query parameter has been set. Each class that implements Flushable implements this function which looks after it's own specific flushing functionality.
Returns the manifest of all classes which are present in the database.
Returns an array of the current class and all its ancestors and children which require a DB table.
Returns a list of classes that inherit from the given class.
Convert a class name in any case and return it as it was defined in PHP
Returns the passed class name along with all its parent class names in an array, sorted with the root class first.
Returns true if the given class implements the given interface
Returns all classes contained in a certain folder.
Determine if the given class method is implemented at the given comparison class
Helper to determine if the given object has a method
Parses a class-spec, such as "Versioned('Stage','Live')", as passed to create_from_string().
Returns a list of classes with a particular extension applied
Details
        
                static            array
    allClasses()
        
    
    Wrapper for classes getter.
        
                static            bool
    exists(string $class)
        
    
    Returns true if a class or interface name exists.
        
                static            bool
    hasTable(string $tableName)
        
    
    Cached call to see if the table exists in the DB.
For live queries, use DBSchemaManager::hasTable.
        
                static            
    reset_db_cache()
        
    
    No description
        
                static            
    flush()
        
    
    This function is triggered early in the request if the "flush" query parameter has been set. Each class that implements Flushable implements this function which looks after it's own specific flushing functionality.
        
                static            array
    getValidSubClasses(string $class = SiteTree::class, bool $includeUnbacked = false)
        
    
    Returns the manifest of all classes which are present in the database.
        
                static            array
    dataClassesFor(string|object $nameOrObject)
        
    
    Returns an array of the current class and all its ancestors and children which require a DB table.
        
                static            array
    subclassesFor(string|object $nameOrObject, bool $includeBaseClass = true)
        
    
    Returns a list of classes that inherit from the given class.
The resulting array includes the base class passed through the $class parameter as the first array value. Note that keys are lowercase, while the values are correct case.
Example usage:
ClassInfo::subclassesFor('BaseClass');
 array(
 'baseclass' => 'BaseClass',
 'childclass' => 'ChildClass',
 'grandchildclass' => 'GrandChildClass'
)        
        
        
                static            string
    class_name(string|object $nameOrObject)
        
    
    Convert a class name in any case and return it as it was defined in PHP
eg: ClassInfo::class_name('dataobJEct'); //returns 'DataObject'
        
                static            array
    ancestry(string|object $nameOrObject, bool $tablesOnly = false)
        
    
    Returns the passed class name along with all its parent class names in an array, sorted with the root class first.
        
                static            array
    implementorsOf(string $interfaceName)
        
    
    No description
        
                static            bool
    classImplements(string $className, string $interfaceName)
        
    
    Returns true if the given class implements the given interface
        
                static            array
    classes_for_file(string $filePath)
        
    
    Get all classes contained in a file.
        
                static            array
    classes_for_folder(string $folderPath)
        
    
    Returns all classes contained in a certain folder.
        
                static            bool
    has_method_from(string $class, string $method, string $compclass)
        
    
    Determine if the given class method is implemented at the given comparison class
        
                static            string
    shortName(string|object $nameOrObject)
        
    
    Strip namespace from class
        
                static            bool
    hasMethod(object $object, string $method)
        
    
    Helper to determine if the given object has a method
        
                static            array
    parse_class_spec(string $classSpec)
        
    
    Parses a class-spec, such as "Versioned('Stage','Live')", as passed to create_from_string().
Returns a 2-element array, with classname and arguments
        
                static            array
    classesWithExtension(string $extensionClass, string $baseClassOrObject = DataObject::class, bool $includeBaseClass = false)
        
    
    Returns a list of classes with a particular extension applied
This reflects all extensions added (or removed) both via the configuration API as well as dynamically using Extensible::add_extension() and Extensible::remove_extension().