您的位置:首页 > 编程语言 > PHP开发

PHP的反射机制

2016-06-01 23:38 681 查看
在面向对象中最经典的使用就是反射,之前在Java语言中,使用反射可以解耦,用于依赖注入。

在PHP中,同样也有如此强大的地方,我们利用反射来获取一个对象的实例。

首先我们先写一个类:

class TestClass{
private $number;
private $name;

public function __construct(){
$this->number=123;
$this->name="test";
}

public function printstu_info(){
echo "the student number is {$this->number},and name is {$this->name}";
}
}


在PHP中可以使用ReflectionClass类来获取这个类的详细情况。在调用其newInstance方法可以获取这个类的实例。

使用这样就可以获取类的实例,和new的效果会是一样的。

prod_class=new ReflectionClass('TestClass');
$instance=$prod_class->newInstance();
$instance->printstu_info();


这个程序的输出为the student number is 123,and name is test

一般情况下我们可以使用如下方式:

$test=new TestClass();
$test->printstu_info();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: