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

Bibliothèques et frameworks PHP Discussion :

POG : Comment convertir ce diagramme ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut POG : Comment convertir ce diagramme ?
    Bonjour à tous,

    Bien qu'ayant un peu utilisé Php Object Generator par le passé, je bute sur un problème pour passer de mon diagramme à mes classes PHP.

    Voici l'organisation du projet (projet à titre personnel qui a comme sujet la vente de pizzas) :



    Pour créer la classe Soiree, je rentre donc les informations suivantes dans le formulaire de POG :

    Soiree
    dateSoiree : DateTime
    nbBoitesAvant : Int
    nbBoitesApres : Int
    Camion : {Parent}
    Commande : {Child}

    Là où j'ai un problème, c'est au niveau de Regler et Contenir. Faut-il que j'utilise {Sibling} ? Si oui, comme stocker l'information du montant et de qteProd.

    Peut-être ai-je fais une erreur au niveau de mon analyse ?

    Merci pour votre aide !

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    je comprends pas trop la notation {}.

    au niveau du shéma je comprends pas trop la table "Soirée".
    j'arrive pas a comprendre comment tu enregistres les promotions parce qu'une pizzeria fait souvent des promo
    Est ce que tu as vraiment besoin de payer en plusieurs fois?
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Notation {Child/Parent} : Elle permet d'identifier la classe Parent et Enfant (de la classe qu'on génère). C'est totalement spécifique à POG et son formulaire de génération en ligne.

    La table Soirée permet de grouper les commandes réalisées et de stocker le nombre de boites de pizzas en début et en fin de soirée (cela permet de vérifier que la différence correspond bien au nombre de pizzas facturées).

    Pour les promos, c'est pas faux, il faut que je vois la façon dont je dois gérer ça

    Oui, dans le cas où les gens paient avec des tickets restos et complètent en espèces par exemple.

  4. #4
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    je serai toi, je ne créerai que le champs du nombre de boite en debut de "journée" et je ferai une requete qui verifient les équilibres. bon tu essaies de faire un truc qui ressemble à du reporting sur une base transactionnelle, ya pas de bonne solution.

    bon sinon tu veux faire hériter la commande du camion ? et la soirée du camion ? non je ne valide pas ça. une commande n'est pas un type particulier de soirée et qui n'est pas un type particulier de camion. Il te faut des liens de composition.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci pour ta réponse.

    Je suis bien d'accord, mais ce n'est pas vraiment un héritage sous POG. C'est plus une façon de lier de façon logique les éléments.

    En attribuant un type "Parent" (c'est vrai que le mot n'est pas adéquat), on peut avoir accès à des fonctions permettant de récupérer facilement l'occurrence de l'objet à laquelle l'objet lui-même est lié, et inversement, connaitre tous les éléments liés à un "parent".

    Exemple : Un auteur qui écrit plusieurs livres sera à générer de la façon suivante avec POG (exemple officiel) :
    Auteur :
    - nom
    - prenom
    - Livre { CHILD }

    Livre :
    - titre
    - Auteur { PARENT }

    Dans ce cas Livre n'est évidemment pas un élément hérité de Auteur, mais c'est pourtant la syntaxe qu'utilise POG pour lier les éléments.

    D'après la documentation { SIBLING } est à utiliser dans le cas d'une relation (n , n). La seule chose qui m'embête est de savoir comment stocker l'information qui se trouve sur les relations Commande/Paiement et Commande/Produit.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/05/2004, 11h13
  2. Réponses: 6
    Dernier message: 14/02/2004, 14h01
  3. Comment convertir un lecteur du NTFS au Fat32
    Par Cyberman dans le forum Composants
    Réponses: 8
    Dernier message: 24/11/2003, 21h38
  4. Réponses: 3
    Dernier message: 28/09/2003, 10h46
  5. Comment convertir un Jpeg en .ico
    Par Valéry dans le forum Outils
    Réponses: 5
    Dernier message: 04/07/2003, 09h43

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