Problème logique avec deux classes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème logique avec deux classes

par Rushino » 20 févr. 2009, 18:40

lol.. bordel pourquoi j'ai pas pensé à sa plus tôt. Sa semble tellement plus simple et plus logique maintenant. Un gros merci ! j'aurai du venir posé la question plus tôt je doit avoir perdu 2 semaines de mon temps sur ce problème haha

par sadeq » 20 févr. 2009, 18:10

D'accord, dans ce cas on a le schéma/scénario suivant:

1) Soit un monsieur lambda qui utlise un formulaire et saisie ses données
Monsieur X --Saisie Données--> Objet Form

2) Une fois les données saisie, l'objet Form les transmet systématiquement à l'objet User pour validation
Objet Form --Demande Validation données--> Objet User

3) L'objet User: valide les données qui lui sont transmises, enregistre le user dans la base si les données sont ok et renvoi le résultat au Form
Objet User --Enregistre le user dans la BD (si validation ok)--> BD des Users
Objet User --Résultat Validation (+/-erreurs)--> Objet Form


4) L'objet Form fait la suite, et entre autres enregistre les erreurs dans la liste des erreurs
Objet Form --Notifie les erreurs dans la liste d'erreurs--> Liste des erreurs

Donc, La classe Form est en relation avec la classe User, elle l'utilise pour valider et enregistrer les données d'un utilisateur et en plus elle reçoit d'elle le résultat de la validation et plus précisément les erreurs qu'elle (la classe Form) pourra consigner dans la fameuse liste des erreurs.

Voici donc le corps descriptif de cette relation:
class User {
   ...
}
class Form {
  // relation avec la class User (relation 1..1)
  public $user;
  
  // constructeur
  function __construct() {
     // création de la relation avec User
     $this->user = new User();
  }
 ...
}

par Rushino » 20 févr. 2009, 17:26

Bah en faite.. C'est sa le problème il devrai pas y avoir de relation entre les deux.

En faite j'essaie de m'arranger pour être capable de sauvegarder un utilisateur dans une base de données via un formulaire. Le seul fait qu'il ai un lien c'est que je doit validé les données reçu d'un utilisateur (validé dans la classe User) sauf que les erreurs générés devrai être généré par la classe Formulaire.. mais comment faire sa ? en gros la classe user devrai avoir des fonctions qui manipule les données de user seulement..

Merci.

par sadeq » 20 févr. 2009, 17:19

Peux-tu être plus clair sur le fonctionnement général de tes classes conceptuellement parlant.
Et essentiellement sur la relation fonctionnelle entre la classe Form et la classe User et vis-versa.

C'est à dire, y'aura-t-ils plusieurs "user" pour un "Form" et plusieurs "Form" pour un "user" ? etc.

Problème logique avec deux classes

par Rushino » 20 févr. 2009, 17:09

Bonjour,

Je souhaite résoudre un problème que j'essaie de résoudre depuis 1 semaine environ. Vos avis et suggestions m'aiderai beaucoup !

J'ai deux classe :

- La classe 'User' et la classe 'Form'

La classe 'Form' utilise un tableau d'erreurs pour généré les erreurs d'un formulaire.. donc lorsqu'une validation échoue celle-ci ajoute un message d'erreur coérant dans le tableau d'erreur. Le but de la classe 'Form' est de généré des formulaires HTML de type général.

La classe 'User' permet de créer un usagé avec des attributs et de l'enregistré dans une base de donnée via la fonction : saveUser(), la validation des attributs se fait directement dans la clase via les fonctions de type validateXXX()

Le problème étant le suivant .. dans ma page user.form.php je n'arrive pas à faire ajouté des messages d'erreurs dans le tableau de la classe form sans passé la référence d'un objet form dans la classe user.. car la validation se fait dans user.. mais je voudrai que les erreurs s'ajoute dans la liste d'erreurs à partir de la classe User dans les méthodes de validation

Si vous avez d'autres idées.. bah sa serai sympa.. autrement est-t-il correcte de passé l'objet form à user lorsqu'on l'instancie ?

Merci.