Aufrufen einer statischen Methode von einer Objektarrayvariablen
In PHP können Sie die statische Methode einer Klasse von einer Objektinstanz (die in einem Array enthalten ist) wie folgt aufrufen:
$myArray['instanceOfMyClass']::staticMethod(); // works
Aber aus irgendeinem Grund, wenn ich das benutze$this
Variable, bekomme ich einen Parsing-Fehler. Z.B:
$this->myArray['instanceOfMyClass']::staticMethod(); // PARSING ERROR
Nur um zu veranschaulichen, was ich meine:
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;
Irgendwelche Ideen, wie man das umgehen kann?