码迷,mamicode.com
首页 > Web开发 > 详细

php 实现反射

时间:2015-10-23 07:51:51      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

定义一个人类 

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);

技术分享

php 实现反射

标签:

原文地址:http://my.oschina.net/kakoi/blog/520980

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!