Gestion membres via POO

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 30 août 2005 à 17:03
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 31 août 2005 à 14:16
Je me posais la question justement.

Pour pouvoir faire une interface membre (donc : admin + membre +
visiteur), dois-je faire ca en une seule classe ? Ou alors puis-je le
faire sur des classes distinctes ? Dans le genre :

$me = new membre(); // Si c'est un membre

$me = new admin(); // Si c'est un admin etc...



Quelle est la meilleur solution niveau maintenance et rapidité ?

7 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 août 2005 à 17:13
Salut,



pourquoi passer par une classe ?



niveau rapidité la meilleure solution déjà c'est de ne pas passer par une classe justement ;-)



niveau maintenance heu... un simple if(isset($_SESSION['login'])) pour
savoir si c'est un membre, je ne pense pas que t'aurais besoin de
classe pour faire ça ;-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
30 août 2005 à 17:27
Disons que je voulais voir si on pouvait faire un espace membre via un système de classe.



Par exemple, lors du login d'un membre, je peux faire quelque chose
comme ca (approximativement, je passe les tests des champs) :



// Page de login :



$me = new membre();

if ( $me->login( $_POST['login'], $_POST['passwd'] ) ) { // Je suppose que la méthode renvoit true ou false

$me->retrieve_infos(); // Me permet
de ne récupérer qu'une seule fois les infos du membre concerné.

$_SESSION['objet'] = serialize($me); //
Je sérialise le tout histoire de pouvoir récupérer l'objet dans une
autre page.

}



// Page protégée :



if ( isset($_SESSION['objet']) ) {

$me = unserialize( $_SESSION['objet'] );

}

$me->show_infos() // Me permet de constater que les infos du membres
sont toujours la, et ca m'a économisé une requete SQL si j'ai besoin de
les récupérer plus tard.



Est ce que tu me suis toujours ?
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 août 2005 à 17:30
Inutile selon moi ;-)



pas besoin de récupérer les infos via la base (sauf la première fois
lors de l'authentification, ensuite tu mets tout en session)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
30 août 2005 à 17:43
Disons qu'avec cette methode, tu bouffes pas mal au niveau des sessions. Mais bon, ca joue peut-être sur rien du tout.



Je pensais que le fait de passer ca du coté des classes serait un peu plus souple... finallement, ca se ressemble + ou -.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 août 2005 à 17:52
heu bah tu passes de toute façon au niveau des sessions, qu'il y ait
une classe ou pas ça change rien (enfin si ça ralentit le script) et
puis au niveau des sessions tout dépend la quantité que tu stockes dans
les variables, perso je stocke pas mal j'ai pas de problème, faut pas
abuser non plus c'est sûr ;-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2005 à 13:01
Hello,



pour ma part, je ne parlerai pas de performance, mais je répondrai directement à ta question première.

Tu evrais regarder du côté de l'héritage. Un admin est un membre avec
plus de possibilités. Donc on peut en déduire qu'un admin peut dériver
d'un membre.

Bref; je ferai un système d'héritage dans ce cas, avec une classe
utilisateur de base, puis tes différents groupes, qui seraiént des
classes héritant de cette classe de base (voire d'un de ses enfants
:superadmin pourrait hériter de admin qui hériterait de membre).



A relire : http://fr3.php.net/manual/fr/language.oop5.basic.php
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 août 2005 à 14:16
Heu... Pourquoi vous compliquer avec les classes, je vois pas ce qu'elles apportent dans le cas présent ?!

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
Rejoignez-nous