je suis en train de créer une petite fonction du genre:
<?
function search($auteur="*", $categorie="*", $genre="*", $titre="*") {
// traitement des cas en fonction des paramêtres existants
return $new_search;
}
?>
Lorsque j'appelle cette fonction avec seulement le 1er paramètre, tout
marche très bien.
Mais sitôt que je veux utiliser un autre paramètre, j'ai un gros problème:
<? $my_test = search(,2); ?>
ou tout autre combinaison de paramètres me renvoit:
Parse error: parse error, unexpected ',', expecting ')' in
/var/www/html/requests.php on line 86
Et si je tente de passer des paramètres vides (<? $my_test =
search("",2); ?>), je perd mes valeurs par défaut (ce qui est normal).
Comment puis-je appeler ma fonction de manière à ce qu'elle fonctionne bien?
Merci d'avance.
--
Tout sur les eggdrops
http://www.c-p-f.org
ML @ eggdrop_fr@yahoogroupes.fr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sebastien Morey
Bonjour ici,
je suis en train de créer une petite fonction du genre: <? function search($auteur="*", $categorie="*", $genre="*", $titre="*") { // traitement des cas en fonction des paramêtres existants return $new_search; } ?>
Lorsque j'appelle cette fonction avec seulement le 1er paramètre, tout marche très bien. Mais sitôt que je veux utiliser un autre paramètre, j'ai un gros problème: <? $my_test = search(,2); ?> ou tout autre combinaison de paramètres me renvoit: Parse error: parse error, unexpected ',', expecting ')' in /var/www/html/requests.php on line 86
Normal
Et si je tente de passer des paramètres vides (<? $my_test = search("",2); ?>), je perd mes valeurs par défaut (ce qui est normal).
Comment puis-je appeler ma fonction de manière à ce qu'elle fonctionne bien?
Merci d'avance.
Tester si le paramètre passé en argument est vide ou non?
function toto($par1,$par2) { if (strlen($par1)==0) $par1="Valeur par defaut"; ... return $resultat; }
je suis en train de créer une petite fonction du genre:
<?
function search($auteur="*", $categorie="*", $genre="*", $titre="*") {
// traitement des cas en fonction des paramêtres existants
return $new_search;
}
?>
Lorsque j'appelle cette fonction avec seulement le 1er paramètre, tout
marche très bien.
Mais sitôt que je veux utiliser un autre paramètre, j'ai un gros problème:
<? $my_test = search(,2); ?>
ou tout autre combinaison de paramètres me renvoit:
Parse error: parse error, unexpected ',', expecting ')' in
/var/www/html/requests.php on line 86
Normal
Et si je tente de passer des paramètres vides (<? $my_test =
search("",2); ?>), je perd mes valeurs par défaut (ce qui est normal).
Comment puis-je appeler ma fonction de manière à ce qu'elle fonctionne
bien?
Merci d'avance.
Tester si le paramètre passé en argument est vide ou non?
function toto($par1,$par2)
{
if (strlen($par1)==0) $par1="Valeur par defaut";
...
return $resultat;
}
A+
Seb
--
Votre "logis" sur Internet
http://www.arts-du-web.fr
je suis en train de créer une petite fonction du genre: <? function search($auteur="*", $categorie="*", $genre="*", $titre="*") { // traitement des cas en fonction des paramêtres existants return $new_search; } ?>
Lorsque j'appelle cette fonction avec seulement le 1er paramètre, tout marche très bien. Mais sitôt que je veux utiliser un autre paramètre, j'ai un gros problème: <? $my_test = search(,2); ?> ou tout autre combinaison de paramètres me renvoit: Parse error: parse error, unexpected ',', expecting ')' in /var/www/html/requests.php on line 86
Normal
Et si je tente de passer des paramètres vides (<? $my_test = search("",2); ?>), je perd mes valeurs par défaut (ce qui est normal).
Comment puis-je appeler ma fonction de manière à ce qu'elle fonctionne bien?
Merci d'avance.
Tester si le paramètre passé en argument est vide ou non?
function toto($par1,$par2) { if (strlen($par1)==0) $par1="Valeur par defaut"; ... return $resultat; }
Tester si le paramètre passé en argument est vide ou non?
function toto($par1,$par2) { if (strlen($par1)==0) $par1="Valeur par defaut"; ... return $resultat; }
En fait, j'ai résolu le problème de cette manière (qui ressemble beaucoup à la tienne): <? function search($auteur="", $categorie="", $genre="", $titre="") { // traitement des cas en fonction des paramêtres existants return $new_search; } ?> et je peux donc appeller search("", "", "test") et dans la fonction je traite en partant du principe que la valeur par défaut est "".
Cela me permet "d'oublier" les paramètres inutiles lors de l'appel (ceux placés après les paramètres qui ne doivent pas être par défaut) tout en les initialisant.
Tester si le paramètre passé en argument est vide ou non?
function toto($par1,$par2)
{
if (strlen($par1)==0) $par1="Valeur par defaut";
...
return $resultat;
}
En fait, j'ai résolu le problème de cette manière (qui ressemble
beaucoup à la tienne):
<?
function search($auteur="", $categorie="", $genre="", $titre="") {
// traitement des cas en fonction des paramêtres existants
return $new_search;
}
?>
et je peux donc appeller search("", "", "test") et dans la fonction je
traite en partant du principe que la valeur par défaut est "".
Cela me permet "d'oublier" les paramètres inutiles lors de l'appel (ceux
placés après les paramètres qui ne doivent pas être par défaut) tout en
les initialisant.
--
Tout sur les eggdrops
http://www.c-p-f.org
ML @ eggdrop_fr@yahoogroupes.fr
Tester si le paramètre passé en argument est vide ou non?
function toto($par1,$par2) { if (strlen($par1)==0) $par1="Valeur par defaut"; ... return $resultat; }
En fait, j'ai résolu le problème de cette manière (qui ressemble beaucoup à la tienne): <? function search($auteur="", $categorie="", $genre="", $titre="") { // traitement des cas en fonction des paramêtres existants return $new_search; } ?> et je peux donc appeller search("", "", "test") et dans la fonction je traite en partant du principe que la valeur par défaut est "".
Cela me permet "d'oublier" les paramètres inutiles lors de l'appel (ceux placés après les paramètres qui ne doivent pas être par défaut) tout en les initialisant.
function search($auteur="*", $categorie="*", $genre="*", $titre="*") { // traitement des cas en fonction des paramêtres existants return $new_search; } ?> Mais sitôt que je veux utiliser un autre paramètre, j'ai un gros problème: <? $my_test = search(,2); ?> ou tout autre combinaison de paramètres me renvoit: Parse error: parse error, unexpected ',', expecting ')' in /var/www/html/requests.php on line 86
Si vraiment tu as beaucoup besoin d'appeler cette fonction sans le premier paramètre et que c'est une fonctionnalité à part entière, tu as à mon sens deux solutions non bidouille : 1) utiliser la syntaxe objet et setter la ou les variables de recherche à la demande. C'est logique et propre mais je ne sais pas si on a gagné grand chose. Ce n'est pas de la programmation objet pour autant, c'est seulement un raccourci de syntaxe.
2) wrapper cette fonction par d'autres, par exemple :
Mais sur le fond, c'est quand même pas bien compliqué de spécifier la liste des paramètres de gauche, sauf si tu changes souvent la valeur par défaut cas dans lequel il est possible de faire tout simplement un define() et de passer cette valeur en tant que défaut.
HTH JG
Bonjour,
function search($auteur="*", $categorie="*", $genre="*", $titre="*") {
// traitement des cas en fonction des paramêtres existants
return $new_search;
}
?>
Mais sitôt que je veux utiliser un autre paramètre, j'ai un gros problème:
<? $my_test = search(,2); ?>
ou tout autre combinaison de paramètres me renvoit:
Parse error: parse error, unexpected ',', expecting ')' in
/var/www/html/requests.php on line 86
Si vraiment tu as beaucoup besoin d'appeler cette fonction sans le
premier paramètre et que c'est une fonctionnalité à part entière, tu as
à mon sens deux solutions non bidouille :
1) utiliser la syntaxe objet et setter la ou les variables de recherche
à la demande. C'est logique et propre mais je ne sais pas si on a gagné
grand chose. Ce n'est pas de la programmation objet pour autant, c'est
seulement un raccourci de syntaxe.
2) wrapper cette fonction par d'autres, par exemple :
Mais sur le fond, c'est quand même pas bien compliqué de spécifier la
liste des paramètres de gauche, sauf si tu changes souvent la valeur par
défaut cas dans lequel il est possible de faire tout simplement un
define() et de passer cette valeur en tant que défaut.
function search($auteur="*", $categorie="*", $genre="*", $titre="*") { // traitement des cas en fonction des paramêtres existants return $new_search; } ?> Mais sitôt que je veux utiliser un autre paramètre, j'ai un gros problème: <? $my_test = search(,2); ?> ou tout autre combinaison de paramètres me renvoit: Parse error: parse error, unexpected ',', expecting ')' in /var/www/html/requests.php on line 86
Si vraiment tu as beaucoup besoin d'appeler cette fonction sans le premier paramètre et que c'est une fonctionnalité à part entière, tu as à mon sens deux solutions non bidouille : 1) utiliser la syntaxe objet et setter la ou les variables de recherche à la demande. C'est logique et propre mais je ne sais pas si on a gagné grand chose. Ce n'est pas de la programmation objet pour autant, c'est seulement un raccourci de syntaxe.
2) wrapper cette fonction par d'autres, par exemple :
Mais sur le fond, c'est quand même pas bien compliqué de spécifier la liste des paramètres de gauche, sauf si tu changes souvent la valeur par défaut cas dans lequel il est possible de faire tout simplement un define() et de passer cette valeur en tant que défaut.
HTH JG
Mokhet
John Gallet wrote:
1) utiliser la syntaxe objet et setter la ou les variables de recherche à la demande. C'est logique et propre mais je ne sais pas si on a gagné grand chose. Ce n'est pas de la programmation objet pour autant, c'est seulement un raccourci de syntaxe.
Oh c'est sympa ça, j'y avais pas pensé. J'en vois pas trop l'utilité car effectivement j'ai jamais eu de problèmes avec mes valeurs par défaut qui changent pas dans le temps, mais je viens à peine de conceptualiser ce que tu suggères là et je trouve cette solution agréable :)
J'avais pensé à un système de tableau sinon, du genre
<?php function search($params) { $auteur = (isset($params['auteur']))? $params['auteur']:"*"; $categorie = (isset($params['categorie']))? $params['categorie']:"*"; $genre = (isset($params['genre']))? $params['genre']:"*"; $titre = (isset($params['titre']))? $params['titre']:"*"; // traitement des cas en fonction des paramêtres existants return $new_search; } ?>
1) utiliser la syntaxe objet et setter la ou les variables de recherche
à la demande. C'est logique et propre mais je ne sais pas si on a gagné
grand chose. Ce n'est pas de la programmation objet pour autant, c'est
seulement un raccourci de syntaxe.
Oh c'est sympa ça, j'y avais pas pensé. J'en vois pas trop l'utilité car
effectivement j'ai jamais eu de problèmes avec mes valeurs par défaut
qui changent pas dans le temps, mais je viens à peine de conceptualiser
ce que tu suggères là et je trouve cette solution agréable :)
J'avais pensé à un système de tableau sinon, du genre
<?php
function search($params) {
$auteur = (isset($params['auteur']))? $params['auteur']:"*";
$categorie = (isset($params['categorie']))? $params['categorie']:"*";
$genre = (isset($params['genre']))? $params['genre']:"*";
$titre = (isset($params['titre']))? $params['titre']:"*";
// traitement des cas en fonction des paramêtres existants
return $new_search;
}
?>
1) utiliser la syntaxe objet et setter la ou les variables de recherche à la demande. C'est logique et propre mais je ne sais pas si on a gagné grand chose. Ce n'est pas de la programmation objet pour autant, c'est seulement un raccourci de syntaxe.
Oh c'est sympa ça, j'y avais pas pensé. J'en vois pas trop l'utilité car effectivement j'ai jamais eu de problèmes avec mes valeurs par défaut qui changent pas dans le temps, mais je viens à peine de conceptualiser ce que tu suggères là et je trouve cette solution agréable :)
J'avais pensé à un système de tableau sinon, du genre
<?php function search($params) { $auteur = (isset($params['auteur']))? $params['auteur']:"*"; $categorie = (isset($params['categorie']))? $params['categorie']:"*"; $genre = (isset($params['genre']))? $params['genre']:"*"; $titre = (isset($params['titre']))? $params['titre']:"*"; // traitement des cas en fonction des paramêtres existants return $new_search; } ?>