ReflectionFunction::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionFunction::__constructКонструктор класса ReflectionFunction

Описание

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

Создаёт объект класса ReflectionFunction.

Список параметров

function

Имя функции для отражения или замыкание.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Ошибки

Объект класса ReflectionException, если аргумент function не содержит допустимой функции.

Примеры

Пример #1 Пример использования ReflectionFunction::__construct()

<?php
/**
 * Простой счётчик
 *
 * @return    int
 */
function counter1()
{
    static 
$c 0;
    return ++
$c;
}

/**
 * Другой счётчик
 *
 * @return    int
 */
$counter2 = function()
{
    static 
$d 0;
    return ++
$d;

};

function 
dumpReflectionFunction($func)
{
    
// Вывод основной информации
    
printf(
        
"\n\n===> %s функция '%s'\n".
        
"     объявлена в %s\n".
        
"     строки с %d по %d\n",
        
$func->isInternal() ? 'internal' 'user-defined',
        
$func->getName(),
        
$func->getFileName(),
        
$func->getStartLine(),
        
$func->getEndline()
    );

    
// Печать документации
    
printf("---> Документация:\n %s\n"var_export($func->getDocComment(), 1));

    
// Вывод статических переменных
    
if ($statics $func->getStaticVariables())
    {
        
printf("---> Статические переменные: %s\n"var_export($statics1));
    }
}

// Создание объекта класса ReflectionFunction
dumpReflectionFunction(new ReflectionFunction('counter1'));
dumpReflectionFunction(new ReflectionFunction($counter2));
?>

Результатом выполнения данного примера будет что-то подобное:

===> user-defined функция 'counter1'
     объявлена в Z:\reflectcounter.php
     строки с 7 по 11
---> Документация:
 '/**
 * Простой счётчик
 *
 * @return    int
 */'
---> Статические переменные: array (
  'c' => 0,
)


===> user-defined функция '{closure}'
     объявлена в Z:\reflectcounter.php
     строки с 18 по 23
---> Документация:
 '/**
 * Другой счётчик
 *
 * @return    int
 */'
---> Статические переменные: array (
  'd' => 0,
)

Смотрите также

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top