Llamando al método estático desde una variable de matriz de objetos
En PHP puede llamar a un método estático de una clase desde una instancia de objeto (que está contenida en una matriz) como esta:
$myArray['instanceOfMyClass']::staticMethod(); // works
Pero por alguna razón cuando uso el$this
variable, me sale un error de análisis. P.ej:
$this->myArray['instanceOfMyClass']::staticMethod(); // PARSING ERROR
Solo para ilustrar lo que quiero decir:
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;
¿Alguna idea sobre cómo solucionar esto?