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