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 );
?> |
Output:
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