ReflectionMethod
PHP Manual

ReflectionMethod::__construct

(PHP 5)

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

Описание

public ReflectionMethod::__construct ( mixed $class , string $name )

Создает новый объект класса ReflectionMethod.

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

class

Имя класса или объекта (экземпляра класса), содержащего метод.

name

Имя метода.

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

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

Ошибки

Исключение ReflectionException вызывается, если заданный метод не существует.

Примеры

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

<?php
class Counter
{
    private static 
$c 0;

    
/**
     * Счетчик
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    
final public static function increment()
    {
        return ++
self::$c;
    }
}

// Создание экземпляра класса ReflectionMethod 
$method = new ReflectionMethod('Counter''increment');

// Вывод основной информации
printf(
    
"===> %s%s%s%s%s%s%s метод '%s' (%s)\n" .
    
"     объявлен в %s\n" .
    
"     строки с %d по %d\n" .
    
"     имеет модификаторы %d[%s]\n",
        
$method->isInternal() ? 'внутренний' 'определенный пользователем',
        
$method->isAbstract() ? ' abstract' '',
        
$method->isFinal() ? ' final' '',
        
$method->isPublic() ? ' public' '',
        
$method->isPrivate() ? ' private' '',
        
$method->isProtected() ? ' protected' '',
        
$method->isStatic() ? ' static' '',
        
$method->getName(),
        
$method->isConstructor() ? 'конструктор' 'обычный метод',
        
$method->getFileName(),
        
$method->getStartLine(),
        
$method->getEndline(),
        
$method->getModifiers(),
        
implode(' 'Reflection::getModifierNames($method->getModifiers()))
);

// Вывод документируемого комментария
printf("---> Комментарий:\n %s\n"var_export($method->getDocComment(), 1));

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

// Вызов метода
printf("---> Результат вызова метода: ");
var_dump($method->invoke(NULL));
?>

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

===> определенный пользователем final public static метод 'increment' (обычный метод)
     объявлен в /Users/philip/cvs/phpdoc/test.php
     строки с 14 по 17
     имеет модификаторы 261[final public static]
---> Комментарий:
 '/**
     * Счетчик
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Результат вызова метода: int(1)

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


ReflectionMethod
PHP Manual