datang; } public function getName1(){ echo $this->datang1; } } //建立 Person这个类的反射类 $class = new ReflectionClass('Person'); //打印所有属性名,包含private,protected,public $properties = $class->getProperties(); foreach ($properties as $key => $value) { var_dump($value->getName()); } //打印所有属性的注释并正则,包含private,protected,public foreach($properties as $property) { $docblock = $property->getDocComment(); //只能打印多行注释 var_dump($docblock); preg_match('/ type\=([a-z_]*) /', $docblock, $matches); var_dump($matches); } //打印所有方法名 foreach ($class->getMethods() as $key => $value) { var_dump($value->getName()); } /** 如何执行方法 */ //相当于实例化Person 类 $instance = $class->newInstanceArgs(); //执行getName1方法,方法必须是public属性的,否则会报fatal error $instance->getName1(); //获取Person getName1方法 $ec=$class->getmethod('getName1'); //执行getName1方法,方法必须是public属性的,否则会报fatal error $ec->invoke($instance);