ReflectionFunction::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionFunction::__constructConstructs a ReflectionFunction object

Description

public ReflectionFunction::__construct(Closure|string $function)

Constructs a ReflectionFunction object.

Parameters

function

The name of the function to reflect or a closure.

Errors/Exceptions

A ReflectionException if the function parameter does not contain a valid function.

Examples

Example #1 ReflectionFunction::__construct() example

<?php
/**
 * A simple counter
 *
 * @return    int
 */
function counter1()
{
    static 
$c 0;
    return ++
$c;
}

/**
 * Another simple counter
 *
 * @return    int
 */
$counter2 = function()
{
    static 
$d 0;
    return ++
$d;

};

function 
dumpReflectionFunction($func)
{
    
// Print out basic information
    
printf(
        
"\n\n===> The %s function '%s'\n".
        
"     declared in %s\n".
        
"     lines %d to %d\n",
        
$func->isInternal() ? 'internal' 'user-defined',
        
$func->getName(),
        
$func->getFileName(),
        
$func->getStartLine(),
        
$func->getEndline()
    );

    
// Print documentation comment
    
printf("---> Documentation:\n %s\n"var_export($func->getDocComment(), 1));

    
// Print static variables if existant
    
if ($statics $func->getStaticVariables())
    {
        
printf("---> Static variables: %s\n"var_export($statics1));
    }
}

// Create an instance of the ReflectionFunction class
dumpReflectionFunction(new ReflectionFunction('counter1'));
dumpReflectionFunction(new ReflectionFunction($counter2));
?>

The above example will output something similar to:

===> The user-defined function 'counter1'
     declared in Z:\reflectcounter.php
     lines 7 to 11
---> Documentation:
 '/**
 * A simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'c' => 0,
)


===> The user-defined function ''
     declared in Z:\reflectcounter.php
     lines 18 to 23
---> Documentation:
 '/**
 * Another simple counter
 *
 * @return    int
 */'
---> Static variables: array (
  'd' => 0,
)

See Also

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe
There are no comments available yet.

PHP cURL Tutorial: Using cURL to Make HTTP Requests

cURL is a powerful PHP extension that allows you to communicate with different servers using various protocols, including HTTP, HTTPS, FTP, and more. ...

TheMax

Autor : TheMax
Category: PHP-Tutorials

Midjourney Tutorial - Instructions for beginners

There is an informative video about Midjourney, the tool for creating digital images using artificial intelligence, entitled "Midjourney tutorial in German - instructions for beginners" ...

Mike94

Autor : Mike94
Category: KI Tutorials

Basics of views in MySQL

Views in a MySQL database offer the option of creating a virtual table based on the result of an SQL query. This virtual table can be queried like a normal table without changing the underlying data. ...

admin

Autor : admin
Category: mySQL-Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial