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 :

Appel de plusieurs fonctions dans une classe ($var->field('email')->isEmail())


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Points : 146
    Points
    146
    Par défaut Appel de plusieurs fonctions dans une classe ($var->field('email')->isEmail())
    Bonjour,

    Je voudrais savoir comment faire dans une classe pour avoir ceci:
    Var etant une classe comme exemple.

    Merci
    Frederic

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $var = new Var();
    $var->field('email')->isEmail();
    $var->field('text')->isString();
    $var->nomdeFonction('something')->AutreNomdeFonction()->etc....;

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    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
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    yapuka bouquiner la doc par ici

    Bon courage

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,

    pour enchaîner les appels de méthodes de la classe Foo la méthodes field doit retourner un this(c-a-d une référence de la classe courante). Il s'agit du pattern fluent.
    En voici un exemple:
    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
     
    class Foo {
     
        private $input; 
     
        public function field( $_input ): self {
     
            $this->input = $_input;
     
            return $this;
        }
     
     
        public function isEmail(): bool {
     
            return filter_var($this->input, FILTER_VALIDATE_EMAIL);
        }
     
        public function isString(): bool {
     
            return is_string($this->input);
        }
    }
    après dans les méthodes de validations au lieu de faire appel à l'attribut de class($input), tu peux utiliser l'API Reflexion de php pour récupérer les arguments de la méthode field.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Points : 146
    Points
    146
    Par défaut
    Bonjour Armel18,

    Merci pour l'explication, c'est exactement ce que je cherchais. Maintenant je vais essayer de trouver de l'information sur l'API Reflexion de php, c'est ce que j'aimerais obtenir (éviter de faire appel à $input).
    Si jamais tu as des infos sur comment utiliser cettre API ou des exemples, je suis preneur

    Merci beaucoup
    Frederic

Discussions similaires

  1. appeler une fonction dans une classe générée
    Par jeanmichmuch66 dans le forum C++Builder
    Réponses: 15
    Dernier message: 21/01/2009, 22h44
  2. Appel d'une fonction dans une class
    Par pierre50 dans le forum Langage
    Réponses: 5
    Dernier message: 11/12/2008, 14h02
  3. Réponses: 2
    Dernier message: 18/01/2008, 11h59
  4. Appel de fonction dans une classe
    Par saint-pere dans le forum Langage
    Réponses: 3
    Dernier message: 08/05/2006, 22h13
  5. Appel de fonction dans une classe
    Par Seth77 dans le forum Langage
    Réponses: 8
    Dernier message: 16/01/2006, 10h32

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