ホームページ >バックエンド開発 >PHPチュートリアル >phpはリフレクションを実装します
人間を定義する
class person{ public $name; public $gender; public function say(){ //echo $this->name."say".$this->gender; } public function __set($name,$value){ $this->name=$value; } public function __get($name){ if(!isset($name)){ echo "未设置"; }else{ return $this->$name; } }}$student =new person();$student->name="cat";$student->gender="male";$student->say();$student->age ="12";
リフレクションを通じて php のクラス名とメソッド名を取得する
//使用class函数var_dump(get_object_vars($student)); //返回对象的关联数组var_dump(get_class_vars(get_class($student)));// 类的属性var_dump(get_class_methods(get_class($student)));//方法名的数组echo get_class($student);//类名
//使用反射API$reflect = new ReflectionObject($student);$props = $reflect->getProperties();foreach($props as $prop){ print $prop->getName()."</br>";} // 返回对象的所有方法$m = $reflect->getMethods();foreach($m as $prop){ print $prop->getName();}var_dump($props);