PHP 8.5.0 Released!

The Reflection class

(PHP 5, PHP 7, PHP 8)

Introduction

The reflection class.

Class synopsis

class Reflection {
/* Methods */
public static export (Reflector $reflector, bool $return = false ): string
public static getModifierNames (int $modifiers): array
}

Table of Contents

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
51
apmithani at yahoo dot com
15 years ago
Here is a code snippet for some of us who are just beginning with reflection. I have a simple class below with two properties and two methods. We will use reflection classes to populate the properties dynamically and then print them:
<?php
class A
{
 public $one = '';
 public $two = '';
 
 //Constructor
 public function __construct()
 {
 //Constructor
 }
 
 //print variable one
 public function echoOne()
 {
 echo $this->one."\n";
 }
 //print variable two 
 public function echoTwo()
 {
 echo $this->two."\n";
 }
}
//Instantiate the object
$a = new A();
//Instantiate the reflection object
$reflector = new ReflectionClass('A');
//Now get all the properties from class A in to $properties array
$properties = $reflector->getProperties();
$i =1;
//Now go through the $properties array and populate each property
foreach($properties as $property)
{
 //Populating properties
 $a->{$property->getName()}=$i;
 //Invoking the method to print what was populated
 $a->{"echo".ucfirst($property->getName())}()."\n";
 
 $i++;
}
?>
+add a note

AltStyle によって変換されたページ (->オリジナル) /