Problème avec la fonction call_user_func_array() et php 5.3.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec la fonction call_user_func_array() et php 5.3.

Re: Problème avec la fonction call_user_func_array() et php

par moogli » 18 oct. 2012, 20:17

($ret = undefined et la methode n'est pas appelée)
je dirais plutot $ret n'est pas définie car call_user_func_array() se vautre ?

Et au pif je dirais suppression du passage par référence (enfin il est devenu par défaut) test sans le & ;)


@+

Re: Problème avec la fonction call_user_func_array() et php

par Mazarini » 18 oct. 2012, 11:35

J'ai une hyphothèse, c'est que $args est un tableau vide.
Donc la méthode n'est pas utilisée et la variable $ret n'est pas initialisée.

Si ce n'est qu'un message de d'info, tu peux jouer sur error_reporting()

Pour ce qui est des modifications :
[Depuis 5.3] L'interprétation des mots-clés du modèle objet comme parent et self a changé. Avant, les appeler avec la syntaxe à double deux-points envoyait une erreur E_STRICT à cause de l'interprétation statique.

Problème avec la fonction call_user_func_array() et php 5.3.

par kmchen » 18 oct. 2012, 10:59

Bonjour

Cette ligne :

Code : Tout sélectionner

$ret = call_user_func_array( array( &$pluginClassInstance, $method ), $args );
fonctionne sous php-5.2.6 mais pas sous 5.3.2 ($ret = undefined et la methode n'est pas appelée), avec rigoureusement les mêmes paramètres.

Cette ligne faisant partie d'une librairie, je ne dois pas la modifier mais plutôt chercher dans les options de PHP ce qui permettrait de la faire fonctionner.
J'ai compilé moi même les différentes versions de PHP que j'utilise (phpFarm), et je me demande si certaines options par défaut n'ont pas changé de 5.2.6 à 5.3.2