Je reçois l'ancienne erreur familière "Erreur irrécupérable: Utiliser $ this quand il n'est pas dans un contexte d'objet" en référence à $this->test = 'test';
dans la classe suivante:
class Example {
public $test;
public function index() {
$this->test = 'test';
}
}
La méthode de classe est appelée via call_user_func_array(array('example', 'index'), $params);
. Je peux seulement supposer que call_user_func_array
a pour une raison quelconque décidé d'appeler la méthode d'index comme statique, par ex. example::index()
? Cependant, je n'ai pas trouvé de solution à ce problème et bizarrement, je n'ai pas eu de problème avec cela jusqu'à récemment.
Oublié de mentionner que je fais usage de l'auto-chargement désolé. J'étais sous l'impression que call_user_func_array le ferait sans avoir à instancier la classe manuellement. Ce n'est pas le cas? –
@Riddian Nope. Ce n'est pas. Il n'y aurait aucun moyen d'effectuer des appels statiques. BTW: ce comportement va pour toutes les fonctions PHP prenant des callbacks (comme ['usort'] (http://de2.php.net/manual/fr/function.usort.php) et les goûts). Voir [Pseudo-types et variables ...] (http://de2.php.net/manual/fr/language.pseudo-types.php#language.types.callback). –
Bien compris. Le plus utile merci! –