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 :

magic function to_int comme to_string


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de LeGnome12
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 98
    Points : 109
    Points
    109
    Par défaut magic function to_int comme to_string
    Bonjour,

    Voilà je me pose une question concernant les magicFunctions php.

    Dans le fond, j'ai découvert récemment la magicFunction __toString(). Très pratique pour dire ce que doit retourner un objet sur un echo.

    Moi, je travaille sur un objet d'une table utilisateur, par exemple. J'ai un __toString qui fait en sorte que si j'appelle on objet de type utilisateur sur un echo, j'ai en retour nom prenom.

    Mais je veux savoir s'il existe un fonction qui se nommerai du style __toInt et qui ferait en sorte que si j'appelle mon utilisateur en castant de (int) il me retourne le code utilisateur.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $monUtilisateur = new Utilisateur();
    echo $monUtilisateur; // affiche, grâce à __toString(), "Thoma Dupond"
    echo (int)$monUtilisateur; // afficherait, grâce à __toInt(), "15"
    Si quelqu'un connait une telle méthode, ou a une idée, je suis intéressé.

    Bonne journée,

  2. #2
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Aucune méthode magique ne permet de faire ce que tu veux.
    Je te conseille donc de coder un getter qui ira chercher l'information que tu souhaites, via un $monUtilisateur->getUserId() par exemple.

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    à la rigueur (int)(string)$obj peut fonctionner.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/09/2011, 17h15
  2. Sub réagissant comme function
    Par castorameur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2009, 15h56
  3. Utiliser une function comme slot?
    Par PFCPFC dans le forum Débuter
    Réponses: 10
    Dernier message: 13/03/2009, 15h15
  4. [POO] magic function __set/__get
    Par WG614 dans le forum Langage
    Réponses: 6
    Dernier message: 18/08/2008, 17h50
  5. [VB] Problème de function / sub (tableau comme paramètre)
    Par elhosni dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/05/2006, 20h34

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