Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 22614 программистов и 1272 робота. Сейчас ищут 795 программистов ...
Приступая к работе

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

Вернуться к: ReflectionFunction

ReflectionFunction::__construct

(PHP 5, PHP 7)

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

Описание

public ReflectionFunction::__construct ( mixed $name )

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

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

name

Имя reflection-функции или замыкания.

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

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

Ошибки

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

Список изменений

Версия Описание
5.3.0 name теперь может быть замыканием.

Примеры

Пример #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,
)

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



Вернуться к: ReflectionFunction

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware