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

PHP & Base de données Discussion :

appel statique d'une methode declaration


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 326
    Par défaut appel statique d'une methode declaration
    bonjour,

    j'ai une fonction mafunc qui se trouve dans la classe maclasse.
    Je veux faire un appel statique de la fonction maclasse::mafunc.

    La fonction doit elle obligatoirement declaree en tant que statique dans sa classe de provenance ?

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    PHP est permissif de ce côté, si ton code ne fais pas appel à des variables d'instance tu vas te ramasser des erreurs mais rien qui fera planter le script
    Tiens exécute 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
    24
    25
    26
    27
    28
    29
    <?php
     
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(-1);
     
    class MaClasse
    {
        public function dynamique()
        {
            return 'OK';
        }
     
        public static function statique()
        {
            return 'OK';
        }
    }
    echo '<pre>';
    echo 'fonction dynamique appelée statiquement : ', MaClasse::dynamique(), '<br />';
    echo 'fonction statique  appelée statiquement : ', MaClasse::statique(), '<br />';
    echo '-------------------------------------------------------<br />';
    $c = new MaClasse();
    echo 'instance : méthode dynamique appelée dynamiquement : ', $c->dynamique(), '<br />';
    echo 'instance : méthode dynamique appelée statiquement  : ', $c::dynamique(), '<br />';
    echo 'instance : méthode statique  appelée dynamiquement : ', $c->statique(), '<br />';
    echo 'instance : méthode statique  appelée statiquement  : ', $c::statique(), '<br />';
     
    ?>
    par contre si tu fais appel à des variables d'instance dans le corps de tes méthode, là c'est plus la même salade : erreur fatale.
    Essaie maintenant avec ça :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
     
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(-1);
     
    class MaClasse
    {
        private static $static = 'OK';
        private $dynamic       = 'OK';
     
        public function dynamique()
        {
            return $this->dynamic;
        }
     
        public static function statique()
        {
            return self::$static;
        }
    }
    echo '<pre>';
    echo 'fonction dynamique appelée statiquement : ', MaClasse::dynamique(), '<br />';
    echo 'fonction statique  appelée statiquement : ', MaClasse::statique(), '<br />';
    echo '-------------------------------------------------------<br />';
    $c = new MaClasse();
    echo 'instance : méthode dynamique appelée dynamiquement : ', $c->dynamique(), '<br />';
    echo 'instance : méthode dynamique appelée statiquement  : ', $c::dynamique(), '<br />';
    echo 'instance : méthode statique  appelée dynamiquement : ', $c->statique(), '<br />';
    echo 'instance : méthode statique  appelée statiquement  : ', $c::statique(), '<br />';
     
    ?>
    En espérant avoir éclairé ta lanterne.

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

Discussions similaires

  1. Appel direct d'une méthode mappée dans un LookupDispatchAction ?
    Par petitpasdelune dans le forum Struts 1
    Réponses: 8
    Dernier message: 22/06/2006, 19h25
  2. Réponses: 2
    Dernier message: 02/05/2006, 14h34
  3. Réponses: 2
    Dernier message: 15/08/2005, 20h54
  4. [Language]problème lors de l'appel d'une méthode
    Par Samanta dans le forum Langage
    Réponses: 6
    Dernier message: 18/05/2005, 13h03
  5. [Reflection][Bean] Appel d'une méthode dynamiquement
    Par eraim dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 28/04/2004, 11h07

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