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 :

créer un tableau d'objet


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut créer un tableau d'objet
    Bonsoir,
    j'ai crée une classe Client avec laquelle je peux créer des clients, afficher leur propriété. Mais j'aurais voulu mettre mes clients au fur et à mesure dans un tableau.
    j'ai pensé à deux solutions pouvez vous me dire si elles sont réalisables ou pas :

    => Créer dans ma classe Client une variable statique de type tableau et chaque fois que je crée un client dans le constructeur il vient s'inscrire dans le tableau.

    => Creer une classe supplémentaire appelé listeClient qui aurait comme propriété un tableau d'objet Client et une méthode qui me permettrait d'afficher ce tableau. Mais alors comment je dois faire appel à cette classe.
    Dans ma classe listeClient je dois faire quelquepart require la classe Client ??

    Merci pour votre aide

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Questions/réponses sur le même style avec le POST suivant:
    http://www.developpez.net/forums/d86...xe/debuts-poo/

  3. #3
    Membre éclairé
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Points : 654
    Points
    654
    Par défaut
    Pour moi, la solution la plus "propre" serait de créer une classe pour la gestion des clients. Je ne mélangerais pas les traitement de type généraux sur l'ensemble des clients et ceux spécifiques à un client.

    Exactement comme lorsqu'on utilise Propel, celui-ci créé pour chaque entité disons Entity une classe Entity et une classe EntityPeer (traitements potentiels sur l'ensemble des objets de type Entity, par exemple une suppression ou un listage...).

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Bonjour,

    J'ai vu effectivement que l'utilisation d'une variable statique est déconseillée.
    Pour moi, la solution la plus "propre" serait de créer une classe pour la gestion des clients. Je ne mélangerais pas les traitement de type généraux sur l'ensemble des clients et ceux spécifiques à un client.
    C'est un bon conseil que je vais mettre en pratique. Par contre, est ce que je dois faire une relation d'heritage entre ma classe et ma classe qui gère les clients. un truc du genre

    class gestionClient extends Client { }
    Ou bien il suffit, avant la declaration de ma classe gestionClasse de faire
    include('Client.php') ;
    Y a peut être aucun rapport entre les deux

    J'ai une autre question, je ne retrouve pas de documentation sur le getId du code suivant du lien donné plus haut.
    public function ajouterJoueur(Joueur $player) {
    $this->_players[$player->getId()] = $player;
    }
    Merci de votre aide

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class gestionClient extends Client { }
    Non ca n'a pas de sens, un client représente un client, pas une collection de client.
    Tu dois le sentir, que renverrais par exemple getId() sur ta classe gestionClient() ?

    Si tu veux un tableau d'objets tout est décrit dans le post cité par Fench.
    Ou bien il suffit, avant la declaration de ma classe gestionClasse de faire
    Citation:
    include('Client.php') ;
    Y a peut être aucun rapport entre les deux
    En effet il n'y a pas vraiment de rapport.
    J'ai une autre question, je ne retrouve pas de documentation sur le getId du code suivant du lien donné plus haut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function ajouterJoueur(Joueur $player) {
    $this->_players[$player->getId()] = $player;
    }
    Merci de votre aide
    C'est la méthode getId() de ta classe Joueur, la documentation est dans ton code (si il est documenté). Sinon il suffit d'ouvrir le fichier de la classe Joueur.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Bonjour


    C'est la méthode getId() de ta classe Joueur, la documentation est dans ton code (si il est documenté). Sinon il suffit d'ouvrir le fichier de la classe Joueur
    autant pour moi, je pensais que c'était une fonction fournie en standard par php pour les tableaux.

    Non ca n'a pas de sens, un client représente un client, pas une collection de client.
    Tu dois le sentir, que renverrais par exemple getId() sur ta classe gestionClient() ?
    OK merci, ça me remet les idées en place.
    Si tu veux un tableau d'objets tout est décrit dans le post cité par Fench.
    Je sais bien mais je dois pas avoir les yeux en face des trous.
    Je reprendrai le code demain après une bonne nuit de sommeil.

    Merci

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

Discussions similaires

  1. Créer un tableau d'objets
    Par gvdmoort dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 23/03/2012, 23h31
  2. Réponses: 4
    Dernier message: 25/05/2011, 16h41
  3. Créer un tableau de references d'objets
    Par NejNej dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/05/2008, 15h29
  4. Créer un tableau/liste d'objets
    Par TYBO_2 dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2008, 16h25
  5. créer un tableau d'objets
    Par abiraa dans le forum C++
    Réponses: 36
    Dernier message: 15/04/2007, 11h51

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