The ReflectionParameter::getDeclaringClass() function is an inbuilt function in PHP which is used to return the declaring class.
Syntax:
ReflectionClass ReflectionParameter::getDeclaringClass ( void )
Parameters: This function does not accept any parameter.
Return Value: This function returns the declaring class.
Below programs illustrate the ReflectionParameter::getDeclaringClass() function in PHP:
Program 1:
<?php // Initializing a user-defined class Company1 class Company1 { public function GFG( $Parameter ){} } // Initializing a subclass Company2 class Company2 extends Company1 { } // Using the ReflectionParameter over the above class $A = new ReflectionParameter([ 'Company2' , 'GFG' ], 0); // Calling the getDeclaringClass() function $B = $A ->getDeclaringClass(); // Getting the specified declaring class var_dump( $B ); ?> |
Output:
object(ReflectionClass)#2 (1) { ["name"]=> string(8) "Company1" }
Program 2:
<?php // Initializing some user-defined classes class Department1 { public function HR( $Parameter1 ){} } class Department2 { public function Coding( $Parameter2 , $Parameter3 ){} } class Department3 { public function Marketing( $Parameter4 , $Parameter5 , $Parameter6 ){} } // Using the ReflectionParameter over the above classes $A = new ReflectionParameter([ 'Department1' , 'HR' ], 0); $B = new ReflectionParameter([ 'Department2' , 'Coding' ], 1); $C = new ReflectionParameter([ 'Department3' , 'Marketing' ], 2); // Calling the getDeclaringClass() function and // getting the specified declaring classes var_dump( $A ->getDeclaringClass()); var_dump( $B ->getDeclaringClass()); var_dump( $C ->getDeclaringClass()); ?> |
Output:
object(ReflectionClass)#4 (1) { ["name"]=> string(11) "Department1" } object(ReflectionClass)#4 (1) { ["name"]=> string(11) "Department2" } object(ReflectionClass)#4 (1) { ["name"]=> string(11) "Department3" }
Reference: https://www.php.net/manual/en/reflectionparameter.getdeclaringclass.php