Longhorn PHP 2019 Schedule

ReflectionObject クラス

(PHP 5, PHP 7)

はじめに

ReflectionObject クラスは オブジェクトについての情報を報告します。

クラス概要

ReflectionObject extends ReflectionClass implements Reflector {
/* 継承した定数 */
const integer ReflectionClass::IS_FINAL = 64 ;
/* プロパティ */
public $name ;
/* メソッド */
public __construct ( object $argument )
public static export ( string $argument [, bool $return ] ) : string
/* 継承したメソッド */
public ReflectionClass::__construct ( mixed $argument )
public static ReflectionClass::export ( mixed $argument [, bool $return = false ] ) : string
public ReflectionClass::getConstant ( string $name ) : mixed
public ReflectionClass::getConstants ( void ) : array
public ReflectionClass::getConstructor ( void ) : object
public ReflectionClass::getDefaultProperties ( void ) : array
public ReflectionClass::getDocComment ( void ) : string
public ReflectionClass::getEndLine ( void ) : int
public ReflectionClass::getExtensionName ( void ) : string
public ReflectionClass::getFileName ( void ) : string
public ReflectionClass::getInterfaceNames ( void ) : array
public ReflectionClass::getInterfaces ( void ) : array
public ReflectionClass::getMethod ( string $name ) : ReflectionMethod
public ReflectionClass::getMethods ([ int $filter ] ) : array
public ReflectionClass::getModifiers ( void ) : int
public ReflectionClass::getName ( void ) : string
public ReflectionClass::getNamespaceName ( void ) : string
public ReflectionClass::getProperties ([ int $filter ] ) : array
public ReflectionClass::getShortName ( void ) : string
public ReflectionClass::getStartLine ( void ) : int
public ReflectionClass::getStaticProperties ( void ) : array
public ReflectionClass::getStaticPropertyValue ( string $name [, mixed &$def_value ] ) : mixed
public ReflectionClass::getTraitAliases ( void ) : array
public ReflectionClass::getTraitNames ( void ) : array
public ReflectionClass::getTraits ( void ) : array
public ReflectionClass::hasConstant ( string $name ) : bool
public ReflectionClass::hasMethod ( string $name ) : bool
public ReflectionClass::hasProperty ( string $name ) : bool
public ReflectionClass::implementsInterface ( string $interface ) : bool
public ReflectionClass::inNamespace ( void ) : bool
public ReflectionClass::isAbstract ( void ) : bool
public ReflectionClass::isAnonymous ( void ) : bool
public ReflectionClass::isCloneable ( void ) : bool
public ReflectionClass::isFinal ( void ) : bool
public ReflectionClass::isInstance ( object $object ) : bool
public ReflectionClass::isInstantiable ( void ) : bool
public ReflectionClass::isInterface ( void ) : bool
public ReflectionClass::isInternal ( void ) : bool
public ReflectionClass::isIterable ( void ) : bool
public ReflectionClass::isIterateable ( void ) : bool
public ReflectionClass::isSubclassOf ( string $class ) : bool
public ReflectionClass::isTrait ( void ) : bool
public ReflectionClass::isUserDefined ( void ) : bool
public ReflectionClass::newInstance ( mixed $args [, mixed $... ] ) : object
public ReflectionClass::newInstanceArgs ([ array $args ] ) : object
public ReflectionClass::setStaticPropertyValue ( string $name , string $value ) : void
public ReflectionClass::__toString ( void ) : string
}

プロパティ

name

オブジェクトのクラス名。読み込み専用で、書き込もうとすると ReflectionException をスローします。

目次

add a note add a note

User Contributed Notes 2 notes

up
8
marcel dot nolte at noltecomputer dot de
9 years ago
To simply enlist all methods and properties of an object simply write:

<?php ReflectionObject::export($yourObject); ?>

,which will cause an var_export-like output.
up
-13
kuldipem at gmail dot com
3 years ago
class a {
    const abc = 1;
    public function __get($key){
        $r = new ReflectionObject($this);
        if($r->hasConstant($key)){ return $r->getConstant($key); }
    }
}
class b {
    public function getA(){
        return new a();
    }
}
$b = new b();
var_dump($b->getA()::abc);
var_dump($b->getA()::def);
To Top