Je cherche un joli équivalent en PHP à sa fonction call_user_func
. Le problème que je rencontre avec cette fonction est qu'elle ne passe pas dans un "mode objet". Par cela, je veux dire que je ne peux pas utiliser $this
et d'autres choses dans la classe, donc à peu près en deux mots: pas oop.PHP call_user_func alternative
je besoin de ce principe que je traite l'URL demandée, l'analyse syntaxique, et voir si tout est ok et ainsi de suite, et ensuite faire les lignes suivantes:
call_user_func(array(ucfirst($controller . "Controller"), '_initAction'), $param);
call_user_func(array(ucfirst($controller . "Controller"), $action . 'Action'), $param);
que je veux appeler dynamiquement le "Controller"
et ses actions. Mais je ne peux pas utiliser $this
dans les méthodes $action
car ce n'est pas une POO.
Voici le message que je reçois:
Fatal error: Using $this when not in object context in E:\htdocs\wit\application\controller\InformationController.php on line 6
J'espère donc que quelqu'un pourrait me aider.
Pourriez-vous également me dire si j'aborde ce problème de façon erronée? PS: S'il vous plaît ne me recommandez pas les frameworks MVC qui s'occupent de ce genre de choses. J'aime Zend, mais parfois, c'est juste trop lourd: ((J'ai besoin d'une configuration légère pour cela.)
Votre utilisation de 'ucfirst' fait allusion à un autre problème. – mario
J'ai demandé quelque chose de similaire récemment. Découvrez ma question: http://stackoverflow.com/questions/5549724/call-user-func-within-class-context-with-this-defined – romaninsh