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] Gérer les différents constructeurs


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Par défaut [POO] Gérer les différents constructeurs
    Bonjour à tous.
    Nouveau venu, je tiens avant tous à dire un grand merci à tous les participants de ce site qui me rends svt de grands services.
    Je souhaitereis savoir comment chacun gere le pb des constructeurs en php.
    Je m'explique : afin de clarifier mon code, je passe pour acceder à ma base de données par une classe de service contenant differentes fonctions, chacunes d'elles correspondant une requete (insert, select).
    Elles sont appelés dans la classe Objet/Metier où se trouve notamment mes constructeurs.
    Cependant,comment distingués l'objet construit en vue d'une insertion ou d'une selection si la signature passé au constructeur est la meme ( pour une classe ayant trois attributs dont l'identifiant auto-increment : $toto = new objet("arg1","arg2"))
    Pour ma part, je rajoute un arg bidon lors de l'instanciation en vue d'une selection pour différencier les deux mais je ne suis pas tres satisfait de cette methodes.
    Voilà ,j'espere que mon explication n'est pas trop abracadabrantes
    Merci

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 680
    Par défaut
    tu peux par exemple passer un tableau en argument et comme ça tu peux choisir le nombre d'informations à envoyer

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Par défaut
    Merci Mathieu pour ta reponses mais mon probleme n'est pas le nombre d'argument.
    Mon constructeur est utilisé pour différents cas de figures: des insertions mais aussi des select.
    Quand les arguments sont de memes nombres et de memes types pour l'un et pour l'autres, je ne vois une méthode "propre" pour permettre au constructeur de différencier les deux et appeler la fonction contenant la requete correspondante.
    C'est pourquoi je place un argument supplémentaire (une sorte d'indice) au moment de l'instansciion qui va lui permettre de différencier les différents situations mais c'est de la bidouille car à chaque fois que l'instancie ma classe, je doit me souvenir tel indice pour telle requetes et c'est pas terrible
    Voilà, j'espere avoir été plus précis
    merci

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 680
    Par défaut
    dans ce cas là il faut peut-être revoir l'organisation de tes classes et créer les classes "ObjetInsertion" et "ObjetSelection" qui héritent de "Objet"

    donne nous plus de détails sur ce que font tes objets, on pourra peut-être te donner un coup de main

  5. #5
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    Dans le constructeur je suis étonné que tu mettes des requêtes.
    En principe tu devrais juste initialiser des variables. Et ensuite tu peux appeler des requêtes insert ou select qui sont présentes dans ton objet.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Par défaut
    Le requetes ne se trouve pas dans mon constructeur.
    En fait, selon le nombre et le type d'arguments, mon constructeurs appelle une methodes de ma classe Services(contenant elle mes requtes).
    Ma classe services lui retourne,apres avoir agit sur ma base de données, un objet de type PEAR que j'exploite dans mon constructeur pour creer mon objet dans le cas d'un select.
    Dans le cas d'un insert;service retourne l'identifiant d'insertion en vue de verification.
    Mon pb est donc que pour le meme nb et type d'argument,comment disserné s'il s'agit d'une insertion ou d'un select?
    Schéma de mon code :
    _HTML+php pour l'interface
    _Objet metier contenant les classes proprement dites
    _Classe service correspondant à mes classes objets metier (PHP°SQL)
    _Classe contenat les méthodes d'acces et d'interrogation a la base de données

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

Discussions similaires

  1. [Mail] Lancer Outlook en PHP avec les diff entêtes
    Par heider dans le forum Langage
    Réponses: 7
    Dernier message: 02/01/2011, 05h10
  2. Réponses: 1
    Dernier message: 15/03/2007, 21h18
  3. [POO] ouverture pdf selon les cas
    Par mussara dans le forum Langage
    Réponses: 2
    Dernier message: 15/06/2006, 00h26
  4. [POO] PHP5 : Problème avec les classes
    Par fleur_de_rose dans le forum Langage
    Réponses: 9
    Dernier message: 06/05/2006, 19h09
  5. [POO] Je me mélange les pinceaux..
    Par Thierry8 dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2005, 16h29

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