Skip to main content

08.反射类

1 什么是反射类?

反射类就是能够获取到一个类的全部代码信息,如: 注释,变量名和方法名等, 由于能获取到注释,所以能把类的注释,成员属性注释和方法注释当成 在程序运行时当成额外的参数传入到实例化的容器中,也就是所谓的注解了.

2 反射实例一个类

2.1 composer 初始化

$ composer init; # 一路回车

文件内容

{
"name": "www/tmp",
"authors": [
{
"name": "wuchuheng",
"email": "root@wuchuheng.com"
}
],
"require": {},
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
}

配置好composer.json后运行composer dump-autoload 使配置生效

2.2 启动文件和要实例化的文件

示例类app/Index.php

<?php

namespace App;

class Index
{
public function say()
{
return 'hello world';
}
}

在根目录下新建开始文件start.php

<?php

require"./vendor/autoload.php";

$Re = new \ReflectionClass(App\Index::class);
$contents = $Re->newInstanceArgs()->say();
var_dump($contents); // hello world