IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer une fonction imbriquée


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Récupérer une fonction imbriquée
    Salut tous le monde,

    Je suis en trein de me faire une petite classe.
    J'ai maintenant un petit problème pour récupérer une fonction imbriquée de cette classe.

    Voici comment marche ma classe.

    Code : PHP
    <?php
    class MaClasse
    {
    function Mafonction1(){
    function Mafonction2(){

    }
    }
    }
    ?>


    Bon jusque là j'ai aucun problème.
    Maintenant je veux récupérer dans ma page Mafonction2.

    Code : PHP
    <?php
    $variable = new MaClasse();
    $variable -> Mafonction1();
    $variable ??? Mafonction2();
    ?>

    J'aimerai savoir la méthode à utiliser pour pouvoir récupérer cette deuxième fonction.
    Merci d'avance

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Ben de la même façon que la methode1

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    J'ai déjà essayé mais il met sort un message d'erreur.

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    include('class_cache.php');
    include('class_mysql.php');
     
    $mysql = new Bdd();
    $mysql -> connect();
    	$requete = mysql_query('SELECT nom FROM annuaire_cat WHERE id=\'1\' ');
    $mysql -> close();
     
    $reponse = mysql_fetch_array($requete);
     
    $cache = new Cache();
    $cache -> charger('cache/index.cache');
    $cache -> condition(60);
    $cache -> slashes($reponse);
    ?>
    et la classe en question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    class Cache{
     
    	function charger($fichier){
    	global $modif_ago;
     
    		$modif_ago = time() - filemtime($fichier);
    	}
     
    	function condition($temps){
    	global $modif_ago;
     
    		if($modif_ago > $temps){
     
    			function slashes($requete){
    				array_map('stripslashes', $requete);
    			}
     
    		}
     
    	}
     
     
    }
    Je ne vois pas d'où sa peut venir

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Ton souci est ailleurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	function condition($temps){
    	global $modif_ago;
    		
    		if($modif_ago > $temps){
    		
    			function slashes($requete){
    				array_map('stripslashes', $requete);
    			}
    			
    		}
    	
    	}
    imbriquer des déclarations de fonctions est interdit.

    Tu dois les déclarer chacune sur une ligne différente, sans les imbriquer.

    A+

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Le problème est que je dois mettre cette fonction à l'intérieur de la condition qui se trouve dans condition.

    Y'a t'il un moyen que la condition ne pose pas de problème ?

    Merci d'avance

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	function condition($temps){
    	global $modif_ago;
    		
    		if($modif_ago > $temps){
    		
    			function slashes($requete){
    				array_map('stripslashes', $requete);
    			}
    			
    		}
    	
    	}
    Je ne sais même pas si c'est possible sa en PHP

    Mais à la lecture de ton code je ferais plutot ceci.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    class Cache{
     
    	function charger($fichier){
    	global $modif_ago;
     
    		$modif_ago = time() - filemtime($fichier);
    	}
     
    	function condition($temps,$requete){
    	global $modif_ago;
     
    		if($modif_ago > $temps){
    			$this->slashes($requete);
    		}
     
    	}
     
    			function slashes($requete){
    				array_map('stripslashes', $requete);
    			}
     
     
    }
    bbye

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Merci à tous les deux !

    ePox c'est exactement se que je voulais, merci beaucoup.

    Bonne après-midi
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecriture d'une fonction imbriquée dans une autre
    Par kase74 dans le forum Débuter
    Réponses: 13
    Dernier message: 20/10/2008, 21h45
  2. Retour d'une fonction imbriquée
    Par Karashi dans le forum C
    Réponses: 7
    Dernier message: 14/07/2008, 13h41
  3. récupérer table et user dans une fonction
    Par papy_tergnier dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 15/12/2005, 11h38
  4. Réponses: 4
    Dernier message: 05/10/2005, 18h19
  5. Récupérer le prototype d'une fonction
    Par uaz dans le forum Général Python
    Réponses: 2
    Dernier message: 27/07/2004, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo