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] création d'un objet de façon généric


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 25
    Par défaut [POO] création d'un objet de façon généric
    Bonjour,

    Je souhaite créer une factory, qui est capable d'instancier la DAL correspondante à un objet métier passé en paramètres.

    Est-il possible d'écrire ceci dans le constructeur de la Factory :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function __construct($objType) {
    			$this->objType = $objType;
    			require_once("DAL/DAL{$this->objType}.php");
    			$DAL = new DAL$objType;
     
    		}
    J'ai un doute sur le DAL$objType.
    Je crois qu'avant on pouvait utiliser la technique du $$objType pour permettre une certaine généricité du code.

    Mais comme il s'agît d'une instanciation il n'y a pas de "$".
    Comment puis je donc arrivé à avoir (si $objtype = 'Utilisateur'

    $DAL = new DAL$objType dans le code qui se transforme en
    $DAL = new DALUtilisateur

    Merci d'avance pour vos réponses.

  2. #2
    Membre émérite
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Par défaut
    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
    <?php
    function __construct($objType) 
    {
          $this->objType = $objType;
          if(is_file('DAL'.DIRECTORY_SEPARATOR.'DAL'.$this->objType.'.php'))
          {
                require_once('DAL'.DIRECTORY_SEPARATOR.'DAL'.$this->objType.'.php');
                 
                $className = 'DAL'.$this->objType;
                 
                if(class_exists($className))
                    $this->DAL = new $className();
                           else 
                                    // error handling la classe n'est pas définie
           }
           else // error handlingle fihcier n'existe pas
    }
    ?>
    @ tchaOo°

  3. #3
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 25
    Par défaut
    Merci beaucoup pour ta réponse.
    Je vais tester cette méthode.

  4. #4
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 25
    Par défaut
    Bonjour,

    Est-il possible de faire la même chose pour l'appel d'une méthode ?
    Ceci afin que la facade appelle la DAL en lui passant en paramètre un objet et l'action à effectuer (insert, delete...) et que la DAL puisse appeler la méthode correspondant à l'action souhaitée.

    Du style si $action = 'Insert'
    $methode = 'Do'.$action.'Query'
    Donnerait
    DAL->DoInsertQuery(objet). ?

    Merci d'avance.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Par défaut
    oui c'est tout a fais possible
    vu que tu est sous php5 je pense que tu devrai t'interresser a l'api de reflexion

  6. #6
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 25
    Par défaut
    Je te remercie je vais regarder où trouver des infos sur cette api.

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

Discussions similaires

  1. [POO] création d'objet via une fabrique de classe
    Par flash_math dans le forum Langage
    Réponses: 2
    Dernier message: 10/11/2007, 09h15
  2. [POO] création d'objets à l'aide de "&"
    Par zakaria_ dans le forum Langage
    Réponses: 3
    Dernier message: 14/05/2007, 19h35
  3. [POO] création d' objet
    Par Emcy dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/03/2007, 09h04
  4. [POO] création d'un objet
    Par Emcy dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/02/2007, 08h59
  5. [POO] Création d'un objet
    Par Rhadamanthe59 dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2007, 13h43

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