Open In App

PHP | ReflectionParameter getDeclaringFunction() Function

Last Updated : 23 Dec, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The ReflectionParameter::getDeclaringFunction() function is an inbuilt function in PHP which is used to return the declaring function.

Syntax:

ReflectionFunctionAbstract ReflectionParameter::getDeclaringFunction ( void )

Parameters: This function does not accept any parameter.

Return Value: This function returns the declaring function.

Below programs illustrate the ReflectionParameter::getDeclaringFunction() 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 getDeclaringFunction() function
$B = $A->getDeclaringFunction();
  
// Getting the specified declaring function
var_dump($B);
?>


Output:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(3) "GFG"
  ["class"]=>
  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 getDeclaringFunction() function and
// getting the specified declaring functions
var_dump($A->getDeclaringFunction());
var_dump($B->getDeclaringFunction());
var_dump($C->getDeclaringFunction());
?>


Output:

object(ReflectionMethod)#4 (2) {
  ["name"]=>
  string(2) "HR"
  ["class"]=>
  string(11) "Department1"
}
object(ReflectionMethod)#4 (2) {
  ["name"]=>
  string(6) "Coding"
  ["class"]=>
  string(11) "Department2"
}
object(ReflectionMethod)#4 (2) {
  ["name"]=>
  string(9) "Marketing"
  ["class"]=>
  string(11) "Department3"
}

Reference: https://www.php.net/manual/en/reflectionparameter.getdeclaringfunction.php



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads