Page 1 sur 1

Objet PHP et Nombre attribut variable

Posté : 27 févr. 2014, 15:41
par val373
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.)

Re: Objet PHP et Nombre attribut variable

Posté : 27 févr. 2014, 17:09
par xTG
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.

Re: Objet PHP et Nombre attribut variable

Posté : 27 févr. 2014, 17:17
par val373
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

Posté : 27 févr. 2014, 21:55
par xTG
Pourquoi donc ?
Une fiche appartient à un support, pas l'inverse.

Re: Objet PHP et Nombre attribut variable

Posté : 28 févr. 2014, 10:02
par val373
C'est l'inverse, un support appartient à une fiche.
et une fiche peut avoir plusieurs support

Re: Objet PHP et Nombre attribut variable

Posté : 28 févr. 2014, 10:45
par moogli
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 ?



@+