1、經過{屬性名} 對對象賦值。spa
class Man{ public $name; protected $age; private $address; public function Say($msg) { echo "Say:".$msg; } } //反射 實例化類 $class=new ReflectionClass('Man'); //獲取當前類屬性 // 默認獲取所有屬性 // 僅獲取私有屬性 $class->getProperties( ReflectionProperty::IS_PRIVATE) /* ReflectionProperty::IS_STATIC ReflectionProperty::IS_PUBLIC ReflectionProperty::IS_PROTECTED ReflectionProperty::IS_PRIVATE * */ foreach( $class->getProperties() as $pro) { echo "屬性名稱:". $pro->getName() ."<br/>"; } foreach( $class->getMethods() as $method) { echo "方法名稱:". $method->getName()."<br/>"; } // 判斷方法是否爲公開 $method = new ReflectionMethod('Man', 'Say'); print_r($method->isPublic()); //判斷類中是否包括該方法 $man=new Man(); if( method_exists($man,"Say")) { echo "Man 存在 Say 方法"; }else{ echo "Man 不存在 Say 方法"; } //反射調用 $reflectionMethod = new ReflectionMethod('Man', 'Say'); $reflectionMethod->invoke($man,"被調用了。");