Finden Sie heraus, ob eine Methode in einer statischen Klasse existiert

Ich möchte überprüfen, ob eine Funktion in einer Bibliothek vorhanden ist, die ich gerade erstelle. Diese ist statisch. Ich habe function und method_exists gesehen, aber keinen Weg gefunden, um sie in einem relativen Kontext aufzurufen. Hier ist ein besseres Beispiel:

class myClass{
    function test1()
    {
        if(method_exists("myClass", "test1"))
        {
            echo "Hi";
        }
    }
    function test2()
    {
        if(method_exists($this, "test2"))
        {
            echo "Hi";
        }
    }
    function test3()
    {
        if(method_exists(self, "test3"))
        {
            echo "Hi";
        }
    }
}
// Echos Hi
myClass::test1();
// Trys to use 'self' as a string instead of a constant
myClass::test3();
// Echos Hi
$obj = new myClass;
$obj->test2();

Ich muss in der Lage sein, Test 3 echo Hi zu machen, wenn die Funktion existiert, ohne sie aus dem statischen Kontext entfernen zu müssen. Das Schlüsselwort für den Zugriff auf die Klasse sollte 'self' sein, da $ dies für zugewiesene Klassen ist.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage