logo Homepage
+  NewbieContest
|-+  Programmation» Langages Web» [PHP] function
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [PHP] function  (Lu 9595 fois)
nofx
Profil challenge

Classement : 1834/55046

Membre Junior
**
Hors ligne Hors ligne
Messages: 88


Voir le profil WWW
« 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...
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #1 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...)
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Nms

Profil challenge

Classement : 78/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 794


Voir le profil
« #2 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...
Journalisée

Ex Newbie Contest Staff :
Nms
Status :
Concepteur d'épreuves
Citation :
Je ne sais qu'une chose : que je ne sais rien. (Socrate)
Perfect Slayer

Profil challenge

Classement : 3031/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #3 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 ?
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Nms

Profil challenge

Classement : 78/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 794


Voir le profil
« #4 le: 28 Octobre 2005 à 09:19:55 »

Bah en tout cas d'après sa description, elle a pas l'air très volumineuse!
Journalisée

Ex Newbie Contest Staff :
Nms
Status :
Concepteur d'épreuves
Citation :
Je ne sais qu'une chose : que je ne sais rien. (Socrate)
nofx
Profil challenge

Classement : 1834/55046

Membre Junior
**
Hors ligne Hors ligne
Messages: 88


Voir le profil WWW
« #5 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
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #6 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..)
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
nofx
Profil challenge

Classement : 1834/55046

Membre Junior
**
Hors ligne Hors ligne
Messages: 88


Voir le profil WWW
« #7 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 +..
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #8 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(){
function ajouter() {
fait blalbla..
}
function modifier() {
fait blabla2..
}
modifier();
}
modifier();
Là, il y a  2 appels de la fonction modifier.. Seul le premier peut la trouver car il est dans la fonction principale.. J'espère que tu comprends mieux ? C'est comme si tu déclarais une variable à l'intérieur d'une fonction.. Elle n'existe QUE dans la fonction.
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
nofx
Profil challenge

Classement : 1834/55046

Membre Junior
**
Hors ligne Hors ligne
Messages: 88


Voir le profil WWW
« #9 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?
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #10 le: 28 Octobre 2005 à 22:13:33 »

voilà ! (comment faire court et précis..)
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
nofx
Profil challenge

Classement : 1834/55046

Membre Junior
**
Hors ligne Hors ligne
Messages: 88


Voir le profil WWW
« #11 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:
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55046

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #12 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).
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Pages: [1]
  Imprimer  
 
Aller à: