php 反射存在的意义,浅谈PHP反射函数的原理与作用

反射函数:用来了解针对性类的一系列函数,比如get_class_methods()等

b4c0f657408902e308aa686e57ced2cc.png

面向对象的编程中对象被赋予了自省的能力,而这个自省的过程就是反射.通过使用反射api就能够实现动态的获 取一个类所有属性和方法以及调用该方法和属性.

如果把php运行时看做是一面镜子, 把php代码看做是一个物体。

当你的程序在php运行时运行的时候, 你的程序想知道你现在运行的php代码的一些信息。

比如说课课家想动态调用一个类的方法,或者我想知道我的一个类到底有哪些方法,有哪些属性。

这就叫做反射。

比如有时候你想知道类的方法的是private还是public,只能靠反射了

你想知道某个函数的注释是什么,只能靠反射了

简单的说就是能让你进入类,对象,函数等语言元素的内部

之后外层 Reflection::export()是 Reflection 类的方法, 该方法需要一个已处理过的php反射对象作为参数来解析并输出内容

这个例子虽然很典型,但是不够实用, 所以可能不容易理解它在做什么,我写个更容易看懂的

class x

{

public $a = 1;

private $b = 2;

protected $c = 3;

public function a(){}

private function b(){}

protected function c(){}

}

$ReflectionClass = new ReflectionClass('x');

Reflection::export($ReflectionClass);

执行这个可能更好理解它在做什么。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值