PHP反射机制

2019-12-19  本文已影响0人  皮蛋馅儿

反射-官网地址

这里创建一个测试类

<?php

class Test
{
    public $a;

    private $b;

    public static $c;

    public function aaa($a, $b)
    {
        echo 'function 1: ' . $a . '|' . $b;
    }

    protected function bbb()
    {
        echo 'function 2';
    }
}
$obj = new \Test();
// 反射类
$relObj = new \ReflectionClass($obj);
// 获取类里面所有的方法列表
$methods = $relObj->getMethods();
foreach ($methods as $method) {
    vdd($method);
}

返回结果:


image.png
// 获取类里面所有的属性
$properties = $relObj->getProperties();
vdd($properties);

返回结果:


image.png
// 判断是否公共方法
$method = new \ReflectionMethod($obj, 'aaa');
if ($method->isPublic()) {
     echo 'aaa是公共方法';
}
vdd($method->getParameters());
vdd($method->getNumberOfParameters());

返回结果:


image.png

加我微信公众号【皮蛋馅儿】,一起学习哦~

上一篇 下一篇

猜你喜欢

热点阅读