PHP 7.4.0beta4 released!

ReflectionMethod Sınıfı

(PHP 5, PHP 7)

Giriş

ReflectionMethod sınıfı bir yöntem hakkında bilgi edinilmesini sağlar.

Sınıf Sözdizimi

ReflectionMethod extends ReflectionFunctionAbstract implements Reflector {
/* Sabitler */
const integer IS_STATIC = 1 ;
const integer IS_PUBLIC = 256 ;
const integer IS_PROTECTED = 512 ;
const integer IS_PRIVATE = 1024 ;
const integer IS_ABSTRACT = 2 ;
const integer IS_FINAL = 4 ;
/* Özellikler */
public $name ;
public $class ;
/* Yöntemler */
__construct ( string $sınıf_veya_yöntem [, string $isim ] )
public static export ( string $sınıf , string $isim [, bool $return = false ] ) : string
public getClosure ( object $object ) : Closure
public getModifiers ( void ) : int
public getPrototype ( void ) : void
public invoke ( object $nesne , string $değiştirgeler ) : mixed
public invokeArgs ( string $nesne , array $değiştirgeler ) : mixed
public isAbstract ( void ) : bool
public isConstructor ( void ) : bool
public isDestructor ( void ) : bool
public isFinal ( void ) : bool
public isPrivate ( void ) : bool
public isProtected ( void ) : bool
public isPublic ( void ) : bool
public isStatic ( void ) : bool
public setAccessible ( bool $accessible ) : void
public __toString ( void ) : string
/* Miras alınan yöntemler */
final private ReflectionFunctionAbstract::__clone ( void ) : void
public ReflectionFunctionAbstract::getFileName ( void ) : string
public ReflectionFunctionAbstract::getName ( void ) : string
public ReflectionFunctionAbstract::getReturnType ( void ) : ReflectionType
abstract public ReflectionFunctionAbstract::__toString ( void ) : void
}

Özellikler

name

Yöntemin ismi.

class

Sınıfın ismi

Öntanımlı Sabitler

ReflectionMethod Değiştiricileri

ReflectionMethod::IS_STATIC

Yöntemin duruk olduğunu belirtir.

ReflectionMethod::IS_PUBLIC

Yöntemin genel bir yöntem olduğunu belirtir

ReflectionMethod::IS_PROTECTED

Yöntemin korunmuş olduğunu belirtir.

ReflectionMethod::IS_PRIVATE

Yöntemin özel olduğunu belirtir.

ReflectionMethod::IS_ABSTRACT

Yöntemin soyut olduğunu belirtir.

ReflectionMethod::IS_FINAL

Yöntemin bir final yöntem olduğunu belirtir.

İçindekiler

add a note add a note

User Contributed Notes 2 notes

up
9
webseiten dot designer at googlemail dot com
8 years ago
Note that the public member $class contains the name of the class in which the method has been defined:

<?php
class A {public function __construct() {}}
class
B extends A {}

$method = new ReflectionMethod('B', '__construct');
echo
$method->class; // prints 'A'
?>
up
-12
no dot prob at gmx dot net
13 years ago
I have written a function which returns the value of a given DocComment tag.

Full example:

<?php

header
('Content-Type: text/plain');

class
Example
{
   
/**
     * This is my DocComment!
     *
     * @DocTag: prints Hello World!
     */
   
public function myMethod()
    {
        echo
'Hello World!';
    }
}

function
getDocComment($str, $tag = '')
{
    if (empty(
$tag))
    {
        return
$str;
    }

   
$matches = array();
   
preg_match("/".$tag.":(.*)(\\r\\n|\\r|\\n)/U", $str, $matches);

    if (isset(
$matches[1]))
    {
        return
trim($matches[1]);
    }

    return
'';
}

$method = new ReflectionMethod('Example', 'myMethod');

// will return Hello World!
echo getDocComment($method->getDocComment(), '@DocTag');

?>

Maybe you can add this functionality to the getDocComment methods of the reflection classes.
To Top