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 :

Quand utiliser $this ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut Quand utiliser $this ?
    Bonjour,

    j'ai une question basique sur la déclaration de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->ma_var = $ma_variable;
    dans ma class. J'ai remarqué que même si je j'utilisais $ma_variable, directement dans ma classe, cela fonctionne.
    Du coup je ne vois pas l'utilité de $this->ma_var ? Quand dois je l'utiliser ?

    Merci

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut

    Il va falloir quand meme nous en dire un peu plus, d'où vient $ma_variable? le contexte etc ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Voici mon code php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class db
        {
     
            public function __construct()
           {
     
           }
     
            function connexion ($ma_variable)
            {
            $this->ma_var = $ma_variable ;
            ....
            }
    }
    D'ailleurs je me pose la question s'il ne vaut pas mieux mettre cette déclaration dans le constructeur ?

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    ma_var est une propriété de la classe ou non ?
    LE code est complet ?

    Par ce que le constructeur vide est inutil, de plus ça ne me dit toujours pas ce que tu fais de ma_var ou $ma_variable donc je ne sais pas si c'est effectivement pertinent de le mettre dans une propriété ou non ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    $ma_variable est une variable contenant le nom de la table pour ma connexion à ma bd afin que je puisse effectuer ma requête avec PDO.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function connexion ($ma_variable)        
    { 
           $this->ma_var = $ma_variable ; 
    
    $Connexion_BD = new PDO('mysql:host='.PARAM_BD_HOTE.';dbname='.PARAM_BD_BASE, PARAM_BD_LOGIN, PARAM_BD_MDP);
    
    $Select = $Connexion_BD->prepare('SELECT * FROM '.$this->ma_var);        
    
    $Select->Execute();
    }


    je ne sais pas si c'est effectivement pertinent de le mettre dans une propriété ou non ...
    Et comment juger si c'est bien de passer par $this-> ?

    Merci

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    A en juger par ton code , effectivement ça ne sert à rien.
    TU peux mettre ta valeur dans un propriété si tu t'en sers ensuite dans une autre méthode mais si son utilisation reste dans le scope de la méthode que tu appel , pas besoin.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

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

Discussions similaires

  1. les classes et c# .. quand utiliser le "this" ?
    Par jgbid123 dans le forum Windows
    Réponses: 3
    Dernier message: 01/12/2006, 23h04
  2. Réponses: 5
    Dernier message: 12/03/2006, 15h38
  3. Réponses: 10
    Dernier message: 08/02/2005, 11h52
  4. Écriture dans un DBgrid quand utilise un query comme dataset
    Par dcayou dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 23h22
  5. [Procédure Stocké] Quand utiliser ?
    Par touhami dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/03/2004, 10h09

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