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?