# The ReflectionClass class

(PHP 5, PHP 7)

## Introduction

The ReflectionClass class reports information about a class.

## Class synopsis

ReflectionClass implements Reflector {
/* Constants */
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
/* Properties */
public $name ;
/* Methods */
public __construct ( mixed `$argument` )
public static export ( mixed `$argument` [, bool `$return` = `FALSE` ] ) : string
public getConstant ( string `$name` ) : mixed
public getConstants ( void ) : array
public getConstructor ( void ) : ReflectionMethod
public getDefaultProperties ( void ) : array
public getDocComment ( void ) : string
public getEndLine ( void ) : int
public getExtension ( void ) : ReflectionExtension
public getExtensionName ( void ) : string
public getFileName ( void ) : string
public getInterfaceNames ( void ) : array
public getInterfaces ( void ) : array
public getMethod ( string `$name` ) : ReflectionMethod
public getMethods ([ int `$filter` ] ) : array
public getModifiers ( void ) : int
public getName ( void ) : string
public getNamespaceName ( void ) : string
public getParentClass ( void ) : ReflectionClass
public getProperties ([ int `$filter` ] ) : array
public getProperty ( string `$name` ) : ReflectionProperty
public getReflectionConstant ( string `$name` ) : ReflectionClassConstant
public getReflectionConstants ( void ) : array
public getShortName ( void ) : string
public getStartLine ( void ) : int
public getStaticProperties ( void ) : array
public getStaticPropertyValue ( string `$name` [, mixed `&$def_value` ] ) : mixed
public getTraitAliases ( void ) : array
public getTraitNames ( void ) : array
public getTraits ( void ) : array
public hasConstant ( string `$name` ) : bool
public hasMethod ( string `$name` ) : bool
public hasProperty ( string `$name` ) : bool
public implementsInterface ( string `$interface` ) : bool
public inNamespace ( void ) : bool
public isAbstract ( void ) : bool
public isAnonymous ( void ) : bool
public isCloneable ( void ) : bool
public isFinal ( void ) : bool
public isInstance ( object `$object` ) : bool
public isInstantiable ( void ) : bool
public isInterface ( void ) : bool
public isInternal ( void ) : bool
public isIterable ( void ) : bool
public isSubclassOf ( mixed `$class` ) : bool
public isTrait ( void ) : bool
public isUserDefined ( void ) : bool
public newInstance ([ mixed `$...` ] ) : object
public newInstanceArgs ([ array `$args` ] ) : object
public newInstanceWithoutConstructor ( void ) : object
public setStaticPropertyValue ( string `$name` , mixed `$value` ) : void
public __toString ( void ) : string
}

## Properties

name

  Name of the class. Read-only, throws ReflectionException in attempt to write.

## Predefined Constants

## ReflectionClass Modifiers

`ReflectionClass::IS_IMPLICIT_ABSTRACT`

  Indicates class that is abstract because it has some abstract methods.

`ReflectionClass::IS_EXPLICIT_ABSTRACT`

  Indicates class that is abstract because of its definition.

`ReflectionClass::IS_FINAL`

  Indicates final class.

## Table of Contents

- ReflectionClass::__construct — Constructs a ReflectionClass
- ReflectionClass::export — Exports a class
- ReflectionClass::getConstant — Gets defined constant
- ReflectionClass::getConstants — Gets constants
- ReflectionClass::getConstructor — Gets the constructor of the class
- ReflectionClass::getDefaultProperties — Gets default properties
- ReflectionClass::getDocComment — Gets doc comments
- ReflectionClass::getEndLine — Gets end line
- ReflectionClass::getExtension — Gets a ReflectionExtension object for the extension which defined the class
- ReflectionClass::getExtensionName — Gets the name of the extension which defined the class
- ReflectionClass::getFileName — Gets the filename of the file in which the class has been defined
- ReflectionClass::getInterfaceNames — Gets the interface names
- ReflectionClass::getInterfaces — Gets the interfaces
- ReflectionClass::getMethod — Gets a ReflectionMethod for a class method
- ReflectionClass::getMethods — Gets an array of methods
- ReflectionClass::getModifiers — Gets the class modifiers
- ReflectionClass::getName — Gets class name
- ReflectionClass::getNamespaceName — Gets namespace name
- ReflectionClass::getParentClass — Gets parent class
- ReflectionClass::getProperties — Gets properties
- ReflectionClass::getProperty — Gets a ReflectionProperty for a class's property
- ReflectionClass::getReflectionConstant — Gets a ReflectionClassConstant for a class's constant
- ReflectionClass::getReflectionConstants — Gets class constants
- ReflectionClass::getShortName — Gets short name
- ReflectionClass::getStartLine — Gets starting line number
- ReflectionClass::getStaticProperties — Gets static properties
- ReflectionClass::getStaticPropertyValue — Gets static property value
- ReflectionClass::getTraitAliases — Returns an array of trait aliases
- ReflectionClass::getTraitNames — Returns an array of names of traits used by this class
- ReflectionClass::getTraits — Returns an array of traits used by this class
- ReflectionClass::hasConstant — Checks if constant is defined
- ReflectionClass::hasMethod — Checks if method is defined
- ReflectionClass::hasProperty — Checks if property is defined
- ReflectionClass::implementsInterface — Implements interface
- ReflectionClass::inNamespace — Checks if in namespace
- ReflectionClass::isAbstract — Checks if class is abstract
- ReflectionClass::isAnonymous — Checks if class is anonymous
- ReflectionClass::isCloneable — Returns whether this class is cloneable
- ReflectionClass::isFinal — Checks if class is final
- ReflectionClass::isInstance — Checks class for instance
- ReflectionClass::isInstantiable — Checks if the class is instantiable
- ReflectionClass::isInterface — Checks if the class is an interface
- ReflectionClass::isInternal — Checks if class is defined internally by an extension, or the core
- ReflectionClass::isIterable — Check whether this class is iterable
- ReflectionClass::isIterateable — Alias of ReflectionClass::isIterable
- ReflectionClass::isSubclassOf — Checks if a subclass
- ReflectionClass::isTrait — Returns whether this is a trait
- ReflectionClass::isUserDefined — Checks if user defined
- ReflectionClass::newInstance — Creates a new class instance from given arguments
- ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments
- ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor
- ReflectionClass::setStaticPropertyValue — Sets static property value
- ReflectionClass::__toString — Returns the string representation of the ReflectionClass object