The ReflectionClass::getProperties() function is an inbuilt function in PHP which is used to return an array of the reflected properties.
Syntax:
ReflectionClass::getProperties($filter) : array
Parameters: This function accepts a parameter filter which helps to remove some of the reflected properties.
Return Value: This function returns an array of the reflected properties.
Below programs illustrate the ReflectionClass::getProperties() function in PHP:
Program 1:
<?php   // Defining a class named as Departments class Departments {     public $Dept1 = 'CSE';     private $Dept2 = 'ECE';     public static $Dept3 = 'EE'; }   // Using ReflectionClass over the class Departments $ReflectionClass = new ReflectionClass('Departments');   // Calling getProperties() function over a filter called // ReflectionProperty::IS_PUBLIC which  // will reflect results of only public properties $A = $ReflectionClass->getProperties(ReflectionProperty::IS_PUBLIC);   // Getting an array of the reflected properties var_dump($A); ?> |
Output:
array(2) {
[0]=>
object(ReflectionProperty)#2 (2) {
["name"]=>
string(5) "Dept1"
["class"]=>
string(11) "Departments"
}
[1]=>
object(ReflectionProperty)#3 (2) {
["name"]=>
string(5) "Dept3"
["class"]=>
string(11) "Departments"
}
}
Program 2:
<?php     // Defining a class named as Company class Company {     public $C1;     private $C2;     public static $C3; }     // Using ReflectionClass over the class Company $ReflectionClass = new ReflectionClass('Company');     // Calling getProperties() function without // of any filter $A = $ReflectionClass->getProperties();     // Getting an array of the reflected properties var_dump($A); ?> |
array(3) {
[0]=>
object(ReflectionProperty)#2 (2) {
["name"]=>
string(2) "C1"
["class"]=>
string(7) "Company"
}
[1]=>
object(ReflectionProperty)#3 (2) {
["name"]=>
string(2) "C2"
["class"]=>
string(7) "Company"
}
[2]=>
object(ReflectionProperty)#4 (2) {
["name"]=>
string(2) "C3"
["class"]=>
string(7) "Company"
}
}
Reference: https://www.php.net/manual/en/reflectionclass.getproperties.php
