首页  >  文章  >  后端开发  >  php中的反射详细讲述

php中的反射详细讲述

韦小宝
韦小宝原创
2018-03-14 12:46:021641浏览

本篇文章讲述了PHP中的反射,大家不太了解的PHP反射的可以来看看了解了解,本文简单的讲述了PHP中的反射,废话少说,我们一起来看看吧!

PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。

TP框架中反射的使用

  • 1、ReflectionClass::__construct — 构造一个 ReflectionClass 类

public ReflectionClass::__construct ( mixed $argument )

2、ReflectionClass::newInstanceArgs — 从给出的参数创建一个新的类实例,给出的参数将传递到类的构造函数。

public object ReflectionClass::newInstanceArgs ([ array $args ] )

3、/thinkphp/library/think/Container.php

/**
     * 调用反射执行类的实例化 支持依赖注入
     * @access public
     * @param  string    $class 类名
     * @param  array     $vars  参数
     * @return mixed
     */
    public function invokeClass($class, $vars = [])
    {
        try {
            $reflect = new ReflectionClass($class);
            $constructor = $reflect->getConstructor();
            //用于支持依赖的注入
            $args = $constructor ? $this->bindParams($constructor, $vars) : [];
            return $reflect->newInstanceArgs($args);
        } catch (ReflectionException $e) {
            throw new ClassNotFoundException('class not exists: ' . $class, $class);
        }
    }

本篇文章简单的讲述了PHP中的反射,大家如果还是不太了解,就自己练练写写!


以上是php中的反射详细讲述的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn