Objet PHP et Nombre attribut variable

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 : Objet PHP et Nombre attribut variable

Re: Objet PHP et Nombre attribut variable

par moogli » 28 févr. 2014, 10:45

salut,

ta première description contre dit cette info
une fiche peut avoir un ou plusieurs supports (5 max)
d'après cette info comme xTG la fichier contient un tableau de support.

Pour l'inverse c'est un support qui contient un tableau de fiche.
Le nombre de support qui utilise ta fiche doit être géré ailleurs (par exemple dans la gestion des fiches).
La fiche n'as pas à connaitre les contraintes "métiers" du support.

coté code l'utilisation de tableau me semble beaucoup plus intéressante que 40 paramètres (d'ailleurs cela à l'encontre des "bonne pratique" de développement ;) ).

ensuite vu la fonction, cela impose que tu gère c'est x paramètres avant donc pourquoi ne pas simplement faire l'affectation à ce moment la ?



@+

Re: Objet PHP et Nombre attribut variable

par val373 » 28 févr. 2014, 10:02

C'est l'inverse, un support appartient à une fiche.
et une fiche peut avoir plusieurs support

Re: Objet PHP et Nombre attribut variable

par xTG » 27 févr. 2014, 21:55

Pourquoi donc ?
Une fiche appartient à un support, pas l'inverse.

Re: Objet PHP et Nombre attribut variable

par val373 » 27 févr. 2014, 17:17

Merci de ta réponse,

Du coup il faut que j'ajoute un objet dans un objet, et la je ne vois pas trop comment faire sachant que dans l'objet surpport j'ai besoin de l'id fiche qui se trouve dans l'objet fiche.

Re: Objet PHP et Nombre attribut variable

par xTG » 27 févr. 2014, 17:09

Il vaudrai mieux créer un objet Support que tu stockerais dans un array de ton objet fiche.
Ainsi tu peux stocker autant de support que tu veux, mais tu peux aussi en limiter le nombre en interdisant l'ajout d'un support si la taille de l'array est déjà de 5.

Objet PHP et Nombre attribut variable

par val373 » 27 févr. 2014, 15:41

Bonjour,

Je butte sur un problème en php orienté objet, je vous explique:

Mon objet => fiche, a comme attribue :
function fiche($Obj_FI='', $Des_FI='', $Duree_FI='', $Local_FI='', $Cont_FI='', $Situa_FI='', $Act_FI='', $Res_Q1_FI='', $Res_Q2_FI='', $Valid_FI='', $Lieu_FI='', $Saisie_FI='', $ID_COMP='', $ID_PRO='', $ID_PROC='',$Lib_PROC='',$Co_PROC='',$ID_DO ='',$Lib_DO='',$Co_DO ='',$ID_ACT='',$Lib_ACT='',$Co_ACT='',$ID_COMP='',$Lib_COMP='',$Co_COMP='',$ID_PRO='',$Lib_PRO='',$Des_PRO='')
    {
        $this->Obj_FI = $Obj_FI;
        $this->Des_FI = $Des_FI;
        $this->Duree_FI = $Duree_FI;
        $this->Local_FI = $Local_FI;
        $this->Cont_FI = $Cont_FI;
        $this->Situa_FI = $Situa_FI;
        $this->Act_FI = $Act_FI;
        $this->Res_Q1_FI = $Res_Q1_FI;
        $this->Res_Q2_FI = $Res_Q2_FI;
        $this->Valid_FI = $Valid_FI;
        $this->Lieu_FI = $Lieu_FI;
        $this->Saisie_FI = $Saisie_FI;
        $this->ID_PROC = $ID_PROC;
        $this->Lib_PROC = $Lib_PROC;
        $this->Co_PROC = $Co_PROC;
        $this->ID_DO = $ID_DO;
        $this->Lib_DO = $Lib_DO;
        $this->Co_DO = $Co_DO;
        $this->ID_ACT = $ID_ACT;
        $this->Lib_ACT = $Lib_ACT;
        $this->Co_ACT = $Co_ACT;
        $this->ID_COMP = $ID_COMP;
        $this->Lib_COMP = $Lib_COMP;
        $this->Co_COMP = $Co_COMP;
        $this->ID_PRO = $ID_PRO;
        $this->Lib_PRO = $Lib_PRO;
        $this->Des_PRO = $Des_PRO;
}

Mais une fiche peut avoir un ou plusieurs supports (5 max) (composé d'un ID, d'un libéllé, d'une nature et d'un origine).

de ce fait, Dois-je créer les 5 supports directement dans l'objet fiche ? (Donc 20 attributs en plus)

Comme ceci :
function fiche($Obj_FI='', $Des_FI='', $Duree_FI='', $Local_FI='', $Cont_FI='', $Situa_FI='', $Act_FI='', $Res_Q1_FI='', $Res_Q2_FI='', $Valid_FI='', $Lieu_FI='', $Saisie_FI='', $ID_COMP='', $ID_PRO='', $ID_PROC='',$Lib_PROC='',$Co_PROC='',$ID_DO ='',$Lib_DO='',$Co_DO ='',$ID_ACT='',$Lib_ACT='',$Co_ACT='',$ID_COMP='',$Lib_COMP='',$Co_COMP='',$ID_PRO='',$Lib_PRO='',$Des_PRO='')
{
    $this->Obj_FI = $Obj_FI;
    $this->Des_FI = $Des_FI;
    $this->Duree_FI = $Duree_FI;
    $this->Local_FI = $Local_FI;
    $this->Cont_FI = $Cont_FI;
    $this->Situa_FI = $Situa_FI;
    $this->Act_FI = $Act_FI;
    $this->Res_Q1_FI = $Res_Q1_FI;
    $this->Res_Q2_FI = $Res_Q2_FI;
    $this->Valid_FI = $Valid_FI;
    $this->Lieu_FI = $Lieu_FI;
    $this->Saisie_FI = $Saisie_FI;
    $this->ID_PROC = $ID_PROC;
    $this->Lib_PROC = $Lib_PROC;
    $this->Co_PROC = $Co_PROC;
    $this->ID_DO = $ID_DO;
    $this->Lib_DO = $Lib_DO;
    $this->Co_DO = $Co_DO;
    $this->ID_ACT = $ID_ACT;
    $this->Lib_ACT = $Lib_ACT;
    $this->Co_ACT = $Co_ACT;
    $this->ID_COMP = $ID_COMP;
    $this->Lib_COMP = $Lib_COMP;
    $this->Co_COMP = $Co_COMP;
    $this->ID_PRO = $ID_PRO;
    $this->Lib_PRO = $Lib_PRO;
    $this->Des_PRO = $Des_PRO;
    $this->ID_SUPP_0 = $ID_SUPP_0;
    $this->Nom_SUPP_0= $Nom_SUPP_0;
    $this->Org_SUPP_0= $Org_SUPP_0;
    $this->Nat_SUPP_0= $Nat_SUPP_0;
    $this->ID_SUPP_1 = $ID_SUPP_1;
    $this->Nom_SUPP_1= $Nom_SUPP_1;
    $this->Org_SUPP_1= $Org_SUPP_1;
    $this->Nat_SUPP_1= $Nat_SUPP_1;
    $this->ID_SUPP_2 = $ID_SUPP_2;
    $this->Nom_SUPP_2= $Nom_SUPP_2;
    $this->Org_SUPP_2= $Org_SUPP_2;
    $this->Nat_SUPP_2= $Nat_SUPP_2;
    $this->ID_SUPP_3 = $ID_SUPP_3;
    $this->Nom_SUPP_3= $Nom_SUPP_3;
    $this->Org_SUPP_3= $Org_SUPP_3;
    $this->Nat_SUPP_3= $Nat_SUPP_3;
    $this->ID_SUPP_4 = $ID_SUPP_4;
    $this->Nom_SUPP_4= $Nom_SUPP_4;
    $this->Org_SUPP_4= $Org_SUPP_4;
    $this->Nat_SUPP_4= $Nat_SUPP_4;
}

Ou faire une requête sql et compter le nombre de support pour la fiche en question ?

Il faut savoir aussi que cette objet me permet de modifier ma fiche donc de pouvoir enregistrer 1 à 5 support.

Je sais pas trop comment ou quoi faire.

Merci d'avance de votre aide.

(N'hésiter pas a me demandé des partie de code.)