|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() |
Bonjour,
Je dois mettre en place un extranet qui va gérer plusieurs rôles, deux principalement : l'utilisateur et l'administrateur. Par la suite, d'autres roles pourront être ajoutés. Le principe est classique, l'interface ne sera pas la meme pour un administrateur que pour un utilisateur avec certaines parties communes et d'autres non. De la meme façon, sur la base de données les admin et les utilisateurs n'accéderont pas aux memes informations Je cherche donc à modéliser cela en php 5 objet. Je ai un peu d'expérience sur l'objet mais c'est assez léger et je me demande comment gérer ça. Je suppose que je vais avoir de l'héritage et des interfaces, mais il faut que ce soit modulable. J'ai tout d'abord pensé à créer un classe User et une classe Role. La classe user comprenant un attribut Role. Mais comme chaque role à des besoins spécifiques, je me suis orienté vers une autre solution. J'ai ensuite pensé à une classe User puis 2 autres classes, Administrateur et Personnel qui étendent cette classe. Cette solution, plus satisfaisante mais aprés quelques recherche sur le net, j'ai vu qu'il était plutot conseillé d'utiliser des interfaces. D'une part pourquoi? et d'autre part quel est, en gros, le principe à appliquer? merci d'avance pour vos conseils. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() |
Salut
il n'y a pas a proprement dit, une solution meilleur que l'autre comme tu l'as pu constaté après tes recherches. Le conseil que je peut te donner, c'est evidemment de piocher les meilleurs idées suivants tes besoins et ton modele. L'utilisation d'une interface te permet en fait de modeliser l'ensemble de tes classes pour qu'elle aient la meme structure ce qui te dirige dans developpement. Pour te donner le meilleur exemple de l'utilisation d'une interface que j'ai eu, un module de paiement. Lorsque tu developpes une boutique en ligne, tu as des produits que tu met dans le panier etc etc. L'interface Payment decrit par exemple une méthode d'affichage, de recuperation de variable et d'execution. Admettons que l'on ait 3 classes PaymentCheque, PaymentCB et PaymentPaypal issu de l'interface Payment; ces 3 classes possederont donc les 3 méthodes de l'interface et chacune des codes différents : - show() : PaymentCheque affiche l'ordre auquel il faut envoyer le cheque, PaymentPaypal affiche le logo paypal etc etc. - init() : PaymentCheque ne fait rien , PaymentCB recupere les codes de la banque, PaymentPayPal defini les numéros de transaction ... - exe() : PaymentCheque affiche juste la phrase "paiement validé merci machin machin", PaymentCB te connecte en https a la banque, PaymentPaypal te dirige vers le site paypal ... Bon c'est tres rapide comme description d'utilisation mais voila comment je justifie l'utilisation d'une interface. Mais pour ton cas par exemple, l'Interface User decrit a priori des méthodes qui seront communes a Utilisateur et Adminstrateur mais si le code de chacun ne different pas tellement dans l'executon , il n'y a pas besoin d'en créer une. Utilisateur et Admin mettent tous les 2 a jours leurs infos de compte : a proiri c'est le meme update , Utilisateur et Admin ne possedent pas le meme menu, a priori pour recuper tous les menus, c'est la meme requete , 1 parametre est suffisant pour recupere les droits ... etc. Il y aurait tellement de choses a dire mais il faudrait mieux cibler tes besoins. Si tu veux plus d'aide , tu peux me MP, et m'exposer un peu plus l'interface que doit faire et toutes les possibiltes que peuvent faire tes utilisateurs. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com