IT. Expert System.

PHP

Constructs a ReflectionFunction object


ReflectionFunction::__construct

(PHP 5)

ReflectionFunction::__constructConstructs a ReflectionFunction object

Description

public ReflectionFunction::__construct ( mixed $name )

Constructs a ReflectionFunction object.

Parameters

name

The name of the function to reflect or a closure.

Return Values

No value is returned.

Errors/Exceptions

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

Changelog

Version Description
5.3.0 name can now be a closure.

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 '{closure}'  declared in Z:\reflectcounter.php  lines 18 to 23 ---> Documentation: '/** * Another simple counter * * @return int */' ---> Static variables: array ( 'd' => 0, ) 

See Also



Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 1477 / . Delta: 0.05053 с