Nouvelle fonction avec arguments dans user.function.class.php

Bonjour,

J’essaie d’ajouter une public static function avec plusieurs arguments dans le fichier user.function.class.php mais j’obtiens toujours une erreur:

La fonction avec 1 argument fonctionne:
public static function test($a) {
on récupère la variable $a…
}

La fonction avec 2 arguments ne fonctionne pas:
public static function test($a,$b) {
on récupère la variable $a
on récupère la variable $b
}

Par contre il n’y a pas d’erreur si un des arguments à une valeur par défaut:
public static function test($a,$b=’ ') {
on récupère la variable $a
la variable b est donc toujours égale à ’ ’
}

Ceci est pourtant basique, mais même après beaucoup de recherches je ne trouve pas la solution pour passer 2 arguments dans une fonction.

Merci beaucoup pour votre aide et une belle journée! :slight_smile:

Salut,

On est bien d’accord que tu n’as pas 2 fonctions avec le même nom ?
Parce que ça marche pour n’importe quelle fonction avec N arguments, avec ou sans valeur par défaut

Salut,

Merci de ta réponse.

Je n’ai pourtant pas 2 fois le même nom de fonction.
Je suis resté bloquer sur l’écriture de la fonction mais je viens d’avancer. L’erreur « 500: Internal Server Error » intervient quand je sauvegarde mon virtuel qui à une info faisant appel à ladite function se trouvant dans le fichier user.function.class.php. Du coup je ne suis plus dans la bonne catégorie pour la demande d’aide.

Dans le virtuel j’affiche une info / sous-type autre avec appel de la fonction: test(variable(UneVariableJeedom), « Court ») et là j’ai l’erreur 500.

Si j’appelle la même fonction mais avec uniquement un argument:
test(variable(UneVariableJeedom)) cela fonctionne.

Désolé si je suis au mauvais endroit.

Merci beaucoup d’avance!

Vérifie ton code (genre ; ou { manquant) et regarde les infos de logs dans http.error
parce que

		public static function testAB($_a,$_b) {
			if($_a == $_b) {
				return "ok";
			} else {
				return "KO";
			}
		}

Donne


ou

Re salut :slight_smile:

Merci beaucoup pour ton aide à trouver la solution.
Je faisais un return à la fin de ma fonction et non pas à l’intérieur d’un Switch{}.
Donc bien un problème sur ma fonction et non sur le passage d’arguments.

Désolé du dérangement et merci encore!

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.