专栏首页Grace developmentPHP反射类export方法详细解析

PHP反射类export方法详细解析

前言

php反射类可以导出类的信息,本章主要记录导出记录的参数详解。

使用

class Demo
{
    const aa = 'a';
    const bb = 'b';

    public static $a = 1;
    public static $b = 2;

    public static function aa()
    {
    }

    private $one = 2;
    public $two = 3;
    protected $three = 4;

    public function a()
    {
    }

    protected function b()
    {
    }

    private function c()
    {
    }

    public function __construct($a = 1)
    {
    }
}


$reflectionClass = new ReflectionClass("Demo");

$exportData = $reflectionClass::export ("Demo", true);

var_dump ($exportData);

打印的信息

Class [ <user> class Demo ] {
  @@ /Users/crazy/http/app/test/test.php 3-34

  - Constants [2] {
    Constant [ public string aa ] { a }
    Constant [ public string bb ] { b }
  }

  - Static properties [2] {
    Property [ public static $a ]
    Property [ public static $b ]
  }

  - Static methods [1] {
    Method [ <user> static public method aa ] {
      @@ /Users/crazy/http/app/test/test.php 11 - 13
    }
  }

  - Properties [3] {
    Property [ <default> private $one ]
    Property [ <default> public"...

返回结果说明

参数

注释

Constants

用于描述类中的常量

Static properties

用于描述类中的静态变量

Static methods

用于描述类中的静态方法

Properties

用来描述类中的方法

致谢

感谢你看到这里,希望本篇文章可以帮到你。谢谢

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Laravel源码解析之Model

    根据单一责任开发原则来讲,在laravel的开发过程中每个表都应建立一个model对外服务和调用。类似于这样

    CrazyCodes
  • 来!狂撸一款PHP现代化框架 (路由的设计)

    上一篇的标题改了一下,以一、二、三为章节对读者来说是种困扰,现在的标题是依照项目进度来编写的。上篇文章地址为 https://segmentfault.com/...

    CrazyCodes
  • 电商系统设计之商品[番外篇]

    这是电商系统设计系列在商品设计这块的最后一篇文章。以下是其他文章地址,按照逻辑顺序排列如下 – 电商系统设计之用户系统 https://blog.fastrun...

    CrazyCodes
  • 依赖注入容器-- Autofac

    Autofac---Autofac是一款IOC框架,比较于其他的IOC框架,如Spring.NET,Unity,Castle等等所包含的,它很轻量级性能上非常高...

    小世界的野孩子
  • Java面向对象之抽象类,接口

    抽象类: 含有抽象方法的类被声明为抽象类 抽象方法由子类去实现 含有抽象方法的类必须被声明为抽象类 抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中...

    二十三年蝉
  • 设计模式-里氏替换

    先来看个最正宗的定义 如果对每一个类型为S的对象o1,都有类型为T的对 象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变 ...

    yiduwangkai
  • FactoryMethod工厂方法模式升级成AbstractFactory抽象工厂模式

    具体参考抽象工厂(AbstractFactory)模式-创建型模式,本文在FactoryMethod工厂方法模式(创建型模式)的基础上进行业务进一步抽象,不做详...

    郑小超.
  • 设计模式学习 - 工厂模式

    根据不同的对象,提供不同的工厂,然后由客户端来选择对应的工厂。这也是与简单工厂模式的不同的地方。

    许杨淼淼
  • 转载 Java设计模式

    设计模式; 一个程序员对设计模式的理解: “不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精...

    用户1518699
  • 设计模式 接口隔离原则

    接着,要进行更改了。对好看的定义,发生了改变,那么就应该改变PettyGirl中的内容,但是已经在接口中定义了。那么就有问题了。即,接口承担的内容过多导致

    mySoul

扫码关注云+社区

领取腾讯云代金券