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 __call() pour étendre une classe


Sujet :

Langage PHP

  1. #1
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut [POO] Utilisation de __call() pour étendre une classe
    En partant du design pattern decorateur, j'ai etendu une class avec certaines fonctionnalités.

    Pour eviter d'avoir a coder toute l'interface du decorateur et mes class, j'ai utilisé la methode magic __call() pour, dans le cas ou une methode n'existe pas dans la class courante, on va chercher dans les methodes de l'attribut contenant l'objet étendu (si elle n'existe pas, on lance une exception).

    Avez vous déja utilisé cette technique ? Si oui, est elle reellement couteuse en terme d'optimisation, si vous avez fait du profiling ? (j'ai un peu la flemme de le faire)

    En tout cas, qu'en pensez vous ? Comment mettriez vous ça dans les commentaires ? Est ce toujours une forme de pattern decorateur ?

  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 : 49
    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
    Si tu cherches les grosses perfs, autant ne pas utiliser de design pattern. Dans un langage interprété comme php, ce n'est pas obligatoire puisque les objets ne sont de toutes façons pas typés.
    Mais c'est vrai que c'est plus sympa pour la compréhension et la maintenance.
    D'où le choix : perfs brutes, avec peu de design, voire pas du tout de POO, ou alors extensibilité et maintenabilité.
    Sachant que cette question ne se pose que pour des traitements assez conséquents. Personnellement, je n'ai jamais eu de contraintes de perfs suffisantes pour ne pas utiliser la POOO et les patterns.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

Discussions similaires

  1. [PHP 5.3] [POO]Utilisation de methodes venant d'une autre classe
    Par yann18 dans le forum Langage
    Réponses: 5
    Dernier message: 25/03/2011, 18h16
  2. Utilisation de MACRO pour simuler une classe abstract.
    Par elraton dans le forum Débuter
    Réponses: 6
    Dernier message: 13/03/2009, 15h35
  3. Réponses: 9
    Dernier message: 25/06/2008, 17h48
  4. Probleme pour loader une class en utilisant la reflexion
    Par superfly dans le forum Framework .NET
    Réponses: 1
    Dernier message: 18/09/2007, 19h27
  5. Réponses: 5
    Dernier message: 26/05/2005, 16h40

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