public static function factory($class)
    {
        if (is_object($class))
            $class = get_class($class);
        $class = (string)$class;
        if (!isset(self::$classes[$class]))
            self::$classes[$class] = new self($class);
        return self::$classes[$class];
    }
public static function factory($class)
    {
        if (is_object($class))
            $class = get_class($class);
        $class = (string)$class;
        if (!isset(self::$classes[$class]))
            self::$classes[$class] = new self($class);
        return self::$classes[$class];
    }
public static function factory ( $ class ) { if ( is_object ( $ class ) ) $ class = get_class ( $ class ) ; $ class = ( string ) $ class ; if ( ! isset ( self :: $ classes [ $ class ] ) ) self :: $ classes [ $ class ] = new self ( $ class ) ; return self :: $ classes [ $ class ] ; }
Constructs a new ReflectionClass object from class name and store it in cache.
If object already exists in cache it will taken from there instead of creating
new object

@param string|object $class
@return ReflectionClass
Constructs a new ReflectionClass object from class name and store it in cache . If object already exists in cache it will taken from there instead of creating new object