PHP 反射机制

php官方在线手册: http://php.net/manual/zh/book.reflection.php

反射能够做什么?

快速找到类,方法定义的相关信息

三大反射类

  • ReflectionFunction() 函数定义所在的的文件及起始位置
  • ReflectionClass() 常量,属性,方法,命名空间,类是否是final或者abstract
  • ReflectionMethod() 方法修饰类型,方法名,方法注释

手册

7942449-d5d5907b6038483d.jpg
php_ref.jpg

如何使用?

举个小例子, 具体更多用法请看手册

// 1. 实例化反射类
$reflection = new ReflectionClass('className'); // 参数是类名(string)或者类的实例(object)

// 2. 获取相关信息
$className  = $reflection->getName();

// 3. try...catch
try{
    $reflection = new ReflectionClass('className');
} catch(Exception $e) {
    var_dump($e->getMessage());
}

原文地址:https://www.cnblogs.com/liaohui5/p/10581634.html