Alle functionen mit get_class_method ermitteln

Mit der php-Funktion get_class_method() wird ein Array aller public-Funktionen einer Klasse zurück gegeben.

Aber wie kommt man an die protected- und privat-Funktionen?

An diese Functionen kommt man indem man innerhalb der Klasse die get_class_method() aufruft:

class Foo
{
    public static function getclassmethods()
    {
        return get_class_methods('Foo');
    }
}

 

Wenn jedoch meine Klasse von einer anderen Klasse abgeleitet wird, bekomme ich auch alle Methoden aus der Elternklasse mitgeliefert.

Um da den Unterschied rauszufiltern, holle ich mir nur die Differenz aus den beiden Klassen.

 

$arr = Foo::getclassmethods();class Foo extends FooBase
{
    public static function getclassmethods()
    {
        $allMethods = get_class_methods('Foo');
        $parentMethods = get_class_methods(get_parent_class('FooBase'));
        return array_diff( $allMethods , $parentMethods );
    }
}

$arr = Foo::getclassmethods();

 

Somit erhalte ich in meinem $arr nur die Methoden der Klasse Foo.

Momentan können keine Kommentare hinterlassen werden.

DIESE KUNDEN VERTRAUEN AUF DREIWERKEN: WEBDESIGN-AGENTUR AUS ROSENHEIM

Durch das Fortsetzen der Benutzung dieser Seite, stimmst du der Benutzung von Cookies zu. Weitere Informationen

Die Website verwendet Cookies. Einige davon sind erforderlich, um die Funktionsfähigkeit der Website zu gewährleisten. Andere werden verwendet, um die Benutzerumgebung zu optimieren. Durch die Nutzung der Website stimmen Sie der Verwendung dieser Cookies zu. Weitere Informationen zu Cookies finden Sie in unserem Impressum.

Schließen