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 :

[POO] Utilisation de global pour récupérer les objets dans les fonctions


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 141
    Points : 92
    Points
    92
    Par défaut [POO] Utilisation de global pour récupérer les objets dans les fonctions
    Bonjour à tous

    je me pose une question très bête mais qui l'est peut-être pas !

    je vois souvent des codes de ce style
    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
     
    //bdd ==> classes qui gère les requêtes sql (par exemple)
    $bdd = new bdd();
     
    class truc {
       function bidule ()
       {
          global $bdd;
          .........
          $bdd->ma_function(...);
       }
    }
     
    $truc = new truc();
    $truc->bidule();
    or ma question est la suivante :
    l'utilisation de global pour chaque fonction est-elle mieux ou moins bien que cette proposition :

    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
     
    //bdd ==> classes qui gère les requêtes sql (par exemple)
    $bdd = new bdd();
     
    class truc {
       public $bdd;
     
       function __construct ($bdd)
       {
          $this->bdd = $bdd;
       }
     
       function bidule ()
       {
          .........
          $this->bdd->ma_function(...);
       }
    }
     
    $truc = new truc($bdd);
    $truc->bidule();
    c'est tout "con" mais je ne vois pas quelle est la meilleure solution niveau "structure" et niveau "optimisation php"

    Peut-être existe-t-il une meilleure solution?

    Merci d'avance pour cette petite question

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    IL vaut clairement mieux utiliser une référence.
    Déjà parce que tes classes seront indépendantes du code englobant, ce qui les rend plus versatiles et donc plus utiles.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 141
    Points : 92
    Points
    92
    Par défaut
    Afin d'en savoir un plus sur les performances de l'une ou l'autre j'ai fais quelques tests, ce n'est pas forcément révélateur mais à chaque fois l'utilisation de global est entre 15 à 20% plus rapide.

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Oui, mais à ce moment là, pourquoi ne pas tout faire en procédural, qui sera aussi plus rapide que la POO ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/05/2011, 19h34
  2. les classes et les templates dans les plugins
    Par asoka13 dans le forum C++
    Réponses: 22
    Dernier message: 24/01/2008, 17h11
  3. Réponses: 4
    Dernier message: 11/09/2006, 16h55
  4. Les polices dans les tables et les requêts
    Par zooffy dans le forum Access
    Réponses: 3
    Dernier message: 21/06/2006, 11h06

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