"function" ne fonctionnant qu'une fois... - PHP - Programmation
Marsh Posté le 02-01-2005 à 15:12:40
Permierement on met pas d'espace entre le nom de la fonction et la parenthèse
Deuxiemement, une fonction declarée comme CreeInput() ne repondra pas si on l'appelle creeInput()
En suite, une fonction doit retourner qqch (return TRUE,return FALSE,...), et si ca marche toujours pas, regarde dans ta fonction test_photo si qqch ne peut pas clocher
Marsh Posté le 02-01-2005 à 15:35:45
Les identificateurs sont sensibles à la casse en PHP donc creeInput <> CreeInput. creeInput devrait te sortir une erreur t'indiquant que la fonction n'existe pas.
esox_ch : on peut mettre un espace entre le nom de fonction et la parenthèse, et une fonction n'est pas forcée de retourner une valeur.
Marsh Posté le 02-01-2005 à 15:41:39
Sielfried a écrit : Les identificateurs sont sensibles à la casse en PHP donc creeInput <> CreeInput. creeInput devrait te sortir une erreur t'indiquant que la fonction n'existe pas. |
tu me rassures avec toutes ces réponses, je croyais que j'étais retombé à l'age de pierre de la prog
Je vais regarder la fonction test_photo...
Marsh Posté le 02-01-2005 à 15:44:10
Le deuxième appel ne provoque aucune sortie ? Même pas le premier echo ?
Marsh Posté le 02-01-2005 à 16:18:03
c'est bon, j'ai trouvé..
il s'agissait bien d'une erreur dans la fonction "test_photo", ou une condition n'était pas appliquée
Merci pour votre aide !
Marsh Posté le 02-01-2005 à 16:20:37
Sielfried a écrit : Les identificateurs sont sensibles à la casse en PHP donc creeInput <> CreeInput. creeInput devrait te sortir une erreur t'indiquant que la fonction n'existe pas. |
Si on s'en tiens aux règles d'écriture PEAR si, c'est clair que ca marche quand meme mais c'est pas pour autant intelligent.
huggy a écrit : tu me rassures avec toutes ces réponses, je croyais que j'étais retombé à l'age de pierre de la prog |
En clair un langage qui permet de faire tout et n'importe quoi parcequ'il y a peu de règles et que peu de gens les appliquent (=> html) est plus avancé qu'un langage fortement typé et structuré (=> java) ... On est pas obligés d'avoir tous le meme point de vu ... maintenant ...
Citation : |
de rien
Marsh Posté le 02-01-2005 à 17:03:23
esox_ch a écrit : Si on s'en tiens aux règles d'écriture PEAR si, c'est clair que ca marche quand meme mais c'est pas pour autant intelligent. |
Les fonctions qui ne retournent rien (void), je vois pas ce que ça a de "non intelligent" ? Idem pour l'espace entre le nom de fonction et la parenthèse : dans la plupart des langages que je connais, il peut y avoir n'importe quel espace ou même retour à la ligne entre deux tokens. Un truc du genre :
Code :
|
est parfaitement correct. Dans ce cas précis c'est affreux et illisible, mais beaucoup de programmeurs mettent un espace entre le nom de fonction et la parenthèse (pas qu'en PHP), c'est une écriture courante.
Citation : En clair un langage qui permet de faire tout et n'importe quoi parcequ'il y a peu de règles et que peu de gens les appliquent (=> html) est plus avancé qu'un langage fortement typé et structuré (=> java) ... On est pas obligés d'avoir tous le meme point de vu ... maintenant ... |
Le PHP est certes extrêmement/trop flexible mais pour le coup je vois pas le rapport. Java accepte tout aussi bien les fonctions void les espaces entre appel et parenthèse.
Marsh Posté le 02-01-2005 à 17:04:45
Citation : Si on s'en tiens aux règles d'écriture PEAR si, c'est clair que ca marche quand meme mais c'est pas pour autant intelligent |
Je tiens simplement à signaler que cette "erreur" n'etait dûe qu'a une erreur de retranscription du code (je n'ai pas utilisé de copié/collé), mis sinon dans mon code, la casse etait respectée
Marsh Posté le 02-01-2005 à 17:07:34
Pour l'espace je sais que Java le permet, et je reste de l'avi des concepteurs de PEAR pour la simple raison qu'il y a deja beaucoup de raisons pour lesquelles un script peut etre illisible, alors vaut mieux pas en rajouter (=> ton exemple). Parcontre pour le return, en java il faut declarer la declaration de la methode qu'elle sera de type void, dans ce cas pas de surprise. Donc ce n'est pas le fait de ne rien retourner qui est pas intelligent, mais le fait de ne pas le declarer au debut pour que "un programmeur qui relit le code"/"le compilateur" soit obliger de chercher le return jusqu'en bas du script pour se rendre compte qu'il ne sera pas envoyé
Marsh Posté le 03-01-2005 à 15:38:36
esox_ch a écrit : Permierement on met pas d'espace entre le nom de la fonction et la parenthèse |
En PHP les fonctions ne sont pas sensibles à la casse (ce qui n'empêche pas, bien entendu, de faire attention et d'appeler les fonctions "correctement" ).
Marsh Posté le 03-01-2005 à 18:32:05
ratibus a écrit : En PHP les fonctions ne sont pas sensibles à la casse |
Ah ben oui mince, en effet.
Marsh Posté le 02-01-2005 à 14:56:13
Salut !
Voilà, j'ai crée une fonction php que voici:
(test_photo etant une autre fonction, mais n'affichant rien...)
Cette fonction est appellée tout simplement comme ça:
ça fonctionne bien lorsque je n'appelle qu'une fois la fonction, mais si je fais par exemple:
Le deuxième "CreeInput" ne s'affiche pas..
Vous savez pourquoi ?
Merci !