IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Gérer plusieurs rôles d'utilisateurs en PHP 5 objet


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de bambou
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 192
    Par défaut Gérer plusieurs rôles d'utilisateurs en PHP 5 objet
    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.

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut
    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.

Discussions similaires

  1. Créer un profil utilisateur avec plusieurs rôles
    Par malumiere dans le forum W4 Express
    Réponses: 3
    Dernier message: 21/02/2012, 11h00
  2. Gérer les rôles d'un utilisateur
    Par patrick.deb dans le forum CRM
    Réponses: 0
    Dernier message: 18/03/2010, 15h04
  3. Gérer plusieurs utilisateurs de la base ?
    Par pontus21 dans le forum Hibernate
    Réponses: 6
    Dernier message: 10/05/2009, 22h10
  4. Gérer plusieurs pages sur PHP
    Par yesil08 dans le forum Langage
    Réponses: 18
    Dernier message: 06/04/2009, 02h45
  5. [PHP-JS] Gérer plusieurs submit
    Par Franckintosh dans le forum Langage
    Réponses: 4
    Dernier message: 16/11/2006, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo