欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 实现反射

程序员文章站 2022-06-02 13:17:28
...
定义一个人类
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()."";} // 返回对象的所有方法$m = $reflect->getMethods();foreach($m as $prop){	print $prop->getName();}var_dump($props);
相关标签: php 实现反射