Home  >  Article  >  Backend Development  >  Reflection usage example code of php class

Reflection usage example code of php class

怪我咯
怪我咯Original
2017-07-12 16:17:141437browse

Reflection is an API for manipulating the metamodel in the Object-oriented paradigm. Its function is very powerful and can help us build complex and scalable applications. Its uses include: Automatically load plug-ins, automatically generate documents, and can even be used to expand the PHP language. The PHP reflection API consists of several classes that help us access the metadata of the program or interact with related annotations. With the help of reflection, we can obtain the methods implemented by the class, create an instance of the class (different from creating with new), call a method (also different from the regular call), pass parameters, and dynamically call the class's static method.

Reflection API is PHP's built-in oop technology extension, including some classes, exceptions and interfaces. Used together, they can be used to help us analyze other classes, interfaces, methods, properties, methods and extensions. These oop extensions are called reflection and are located in the PHP source code/ext/reflection directory. You can use the reflection api to introspect the reflection api itself (this may be the original meaning of reflection, "see" yourself):

This article mainly introduces the reflection usage of the PHP class, with examples. It has a certain reference value for common operations of reflection classes. Friends in need can refer to

. This article describes the use of reflection in PHP classes with examples. Share it with everyone for your reference. The specific implementation method is as follows:

This example implements obtaining the corresponding class for each channel to perform the corresponding operation. The details are as follows:

The code is as follows:

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);
    }
}

The above is the detailed content of Reflection usage example code of php class. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn