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éférence arrière et __call


Sujet :

Langage PHP

  1. #1
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut Référence arrière et __call
    Bonjour tout le monde,

    je souhaite faire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class toto {
    	public function &__call($funcName, $tArgs) {
    			return $this->_anyValue;
    	}
    }
    De telle sorte que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $oToto = new toto;
    $var = $oToto ->titi();	// appel de __call()
    $var = 'une nouvelle valeur';
    echo $oToto->_anyValue; // je voudrais comme résultat "une nouvelle valeur", ce qui n'est pas le cas
    Bien évidemment ca ne marche pas. le & sur __call() ne fait rien. Si je fais un je vois bien qu'il n'y a en réalité aucune référence à l'attribut _anyValue de ma classe toto.

    Est-ce que vous auriez une idée pour pouvoir faire ça ?

    Merci d'avance ! Vous me sauveriez là

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Points : 161
    Points
    161
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $var = 'une nouvelle valeur';
    echo $var; // je voudrais comme résultat "une nouvelle valeur", ce qui n'est pas le cas

    J'ai comme un doute sur la véracité de ton commentaire là...

  3. #3
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Oui effectivement, mon code était faux, c'est corrigé dans mon premier message. Merci :-)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Points : 161
    Points
    161
    Par défaut
    Ce que tu cherches à faire est (a priori) impossible en PHP.

    C'est possible de connaitre le contexte ? Je doute que ce soit indispensable de pouvoir pointer sur un attribut avec une variable. Ni que ça favorise la clarté du code, d'ailleurs.

  5. #5
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    C'est possible sans le __call : lien vers la doc, et c'est bien pratique.

    C'est indispensable dans mon cas je pense. On est 3 dev à avoir planché dessus pendant 2 heures pour trouver une solution élégante, c'est la seule viable à notre avis.

    Je suis désolé, mais expliquer le contexte risque d'être looooooong et du coup de complexifier la compréhension de ce que je veux.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par Halleck Voir le message
    C'est possible sans le __call : lien vers la doc, et c'est bien pratique.
    Effectivement, au temps pour moi.

    J'suis pas fan, mais admettons que le contexte s'y prête bien...

Discussions similaires

  1. chiffre après référence arrière
    Par refreketu dans le forum Langage
    Réponses: 5
    Dernier message: 17/04/2013, 15h08
  2. Réponses: 3
    Dernier message: 27/03/2011, 21h39
  3. [RegEx] Fonction preg_replace avec référence arrière
    Par lesanglier dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2009, 12h28
  4. [Concept] Table de référence
    Par matlo dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 20/01/2003, 15h01
  5. changer l'image d'arrière plan du bureau
    Par etenclin dans le forum MFC
    Réponses: 7
    Dernier message: 22/08/2002, 15h54

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