Rumah >pembangunan bahagian belakang >tutorial php >php 类的反射用法实例代码

php 类的反射用法实例代码

怪我咯
怪我咯asal
2017-07-12 16:17:141486semak imbas

反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。其用途如:自动加载插件,自动生成文档,甚至可用来扩充PHP 语言。php 反射api 由若干类组成,可帮助我们用来访问程序的元数据或者同相关的注释交互。借助反射我们可以获取诸如类实现了那些方法,创建一个类的实例(不同于用new 创建),调用一个方法(也不同于常规调用),传递参数,动态调用类的静态方法。

反射api 是php 内建的oop 技术扩展,包括一些类,异常和接口,综合使用他们可用来帮助我们分析其它类,接口,方法,属性,方法和扩展。这些oop 扩展被称为反射,位于php 源码/ext/reflection目录下。可以使用反射api 自省反射api 本身(这可能就是反射最初的意思,自己“看”自己):

这篇文章主要介绍了PHP类的反射用法,实例讲述了反射类的常用操作,具有一定的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了PHP类的反射用法。分享给大家供大家参考。具体实现方法如下:

该例实现对于每个频道获取相应的类来执行相应的操作。具体如下:

 代码如下:

foreach($this->chs as $ch) {
    $className = $this->chsMap[$ch];
    if($className) { // 如果是合法的类名  
 // 获取反射类
 $class = new ReflectionClass($className);
 // 获取类的方法  
 $recd = $class->getmethod('exeRecd');
 // 生成类的实例  
 $instance = $class->newInstance($this->qq, $this->ip);
 // 执行方法  
 $result[$ch] = $recd->invoke($instance);
    }
}

Atas ialah kandungan terperinci php 类的反射用法实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn