Titre: [PHP] function Posté par: nofx le 28 Octobre 2005 à 00:05:01 est il possible d avoir une fonction ki englobe d autre fonction
par exemple function admin() { ploplolp function add($tt) { plop insert into plolp ($tt) } } voila **No Sms** **orthographe !** essayer de faire un truc kom ca et ca marche po alors est-ce possible ou ai-je fais une erreur **No Sms** part(surment mais ou..)? merci d avance... Titre: [PHP] function Posté par: Perfect Slayer le 28 Octobre 2005 à 00:25:28 Euh.. Premierement tu ne dis pas dans quel langage tu travailles ! Donc ca risque d'etre dur.
Sinon je dirais que oui mais la function imbriquée ne doit etre accessible qu'à l'intérieur de la fonction qui la contient. (si tu vois ce que je veux dire...) Titre: [PHP] function Posté par: Nms le 28 Octobre 2005 à 00:47:44 Pourquoi ne pas déclarer d'abord la fonction que tu veux imbriquer, et ensuite l'appeler dans la déclaration de ta seconde fonction?
Je ne comprend pas trop le but de ta manoeuvre... Titre: [PHP] function Posté par: Perfect Slayer le 28 Octobre 2005 à 08:08:39 Peut-être parce qu'elle est lourde et qu'il ne veut la sortir que s'il se sert de la 1ere fonction ?
Titre: [PHP] function Posté par: Nms le 28 Octobre 2005 à 09:19:55 Bah en tout cas d'après sa description, elle a pas l'air très volumineuse! :lol:
Titre: [PHP] function Posté par: nofx le 28 Octobre 2005 à 09:40:31 <?
bon en gros c en php je debute :/ et en fais j 'ai fais un truc du genre: fonction affiche() { bla bla } fonction principale () { fonction ajouter ($ma variable) { insert into.... } fonction modifier($ma variable) { update... } fonction suprimer($ma variable) { delete... } } switch ($op) { case affiche: principale(); break; case principale: principale(); break; case ajouter: principale(); break; case modifier: principale(); break; case suprimer: suprimer(); break; default: principale(); break; ?> et voila moi j 'execute ca il revient toujours a la fonction default meme si je change l op pour lui dire d aller a la fonction principale cela ne fonctionne pas et les autres fonctions suprimer modifier... il ne les reconnaits po :? d ou cela peut il bien venir? merci Titre: [PHP] function Posté par: Perfect Slayer le 28 Octobre 2005 à 12:35:39 Alors function principale ne fait que déclarer des fonctions.. Donc normalement ca devrait rien faire si tu l'appelles. La fonction supprimer ne peut etre reconnu car elle n'existe qu'à l'intérieur de la fonction principale (il faut que tu l'appelles depuis la fonction principale..)
Titre: [PHP] function Posté par: nofx le 28 Octobre 2005 à 12:50:50 c'est a dire stp?
arf me suis gourer dans mon switch switch ($op) { case affiche: affiche(); break; case principale: principale(); break; case ajouter: ajouter(); break; case modifier: modifier(); break; case suprimer: suprimer(); break; default: principale(); break; comme ca ca marche po non +.. Titre: [PHP] function Posté par: Perfect Slayer le 28 Octobre 2005 à 15:47:58 Bah en fait.. Si ton switch était dans ta fonction principale, ca pourrait marcher. C'est une question de portée..
En dehors de la fonction principale (donc si ton code sort des parenthèse de la fonction), tu ne peux pas appeler les fonction ajouter(),modifier(),etc.. Par contre, tu peux les appeler tant que tu es dans la fonction principale ! Code: Function principale(){ Titre: [PHP] function Posté par: nofx le 28 Octobre 2005 à 22:02:21 en gros si j ai compris un **No Sms** truc apres jvai voir en codant.. le **No Sms** truc et que si je met mon switch dans la fonction principal la cela devrai fonctionner?
Titre: [PHP] function Posté par: Perfect Slayer le 28 Octobre 2005 à 22:13:33 voilà ! (comment faire court et précis..)
Titre: [PHP] function Posté par: nofx le 30 Octobre 2005 à 19:31:21 heu petit prob
explication: meme si je mais po de fonction principale ce la execute tjs la fonction par defaut why? exemple: bla bla function add($ma variable) { requete } function supp($ma variable) { requete } switch ($go) { case "add": add($ma variable); break; case "supp": del($ma variable); break; default: add($ma variable); break; } voila la par exemple cela m excutera ke la fonction add pourquoi svp? pourquoi:shock::?=( Titre: [PHP] function Posté par: Perfect Slayer le 30 Octobre 2005 à 19:44:05 Bah en fonction de la valeur de $go, ton script execute une fonction. Il executera toujours une et une seule fonction. (c'est le principe du switch).
|