Wywołanie metody statycznej ze zmiennej tablicy obiektów

W PHP możesz wywołać statyczną metodę klasy z instancji obiektu (która jest zawarta w tablicy) w następujący sposób:

$myArray['instanceOfMyClass']::staticMethod(); // works

Ale z jakiegoś powodu, kiedy używam$this zmienna, otrzymuję błąd parsowania. Na przykład:

$this->myArray['instanceOfMyClass']::staticMethod(); // PARSING ERROR

Aby zilustrować, co mam na myśli:

class MyClass{
    public static function staticMethod(){ echo "staticMethod called\n"; }
}

$myArray = array();
$myArray['instanceOfMyClass'] = new MyClass;
$myArray['instanceOfMyClass']::staticMethod(); // works

class RunCode
{
    private $myArray;

    public function __construct(){
        $this->myArray = array();
        $this->myArray['instanceOfMyClass'] = new MyClass;
        $this->myArray['instanceOfMyClass']::staticMethod(); // PARSING ERROR
    }
}

new RunCode;

Jakieś pomysły na obejście tego problemu?

questionAnswers(3)

yourAnswerToTheQuestion