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

Zend Framework PHP Discussion :

Factorisation de code Dependent Rowset [ZF 1.11]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 22
    Par défaut Factorisation de code Dependent Rowset
    Bonjour, je suis actuellement en train de mettre en place un système d'ACL qui pioche les roles des utilisateurs dans ma base de donnée.
    Ma base de donnée est constituée de la sorte:
    user:
    -id
    -nom
    -clé externe id_type
    type: (correspond au rôle)
    -id
    -nom
    droits:
    - clé externe id_type
    -clé externe id_page
    page: (correspond à la ressource)
    -id
    -name

    Pour ce faire, pour le moment, j'essaie de me familiariser avec les outils qui gèrent la dépendance avec Zend.
    J'ai donc essayé de mettre en place une petite page qui pourrais m'afficher tous les utilisateurs avec leur rôle associé.
    J'arrive parfaitement à récupérer le nom du type associé à un objet grâce à la métode findDependentRowset();
    Cependant, cette méthode s'applique utilisateur par utilisateur, il faudrait donc que j’appelle cette méthode dans ma vue, ce qui m'embête un peu.
    Ce que je voudrais, ce serait de pouvoir ajouter un champ ou une fonction au modèle me permettant d'accéder aux données fournies par ma relation.

    Pour être plus clair, je voudrais pouvoir faire dans ma vue:
    $user->type ou $user->getType()

    Voila, j'espere que je me suis bien fait comprendre.
    Si vous avez des suggestions sur la modélisation ou autres tutoriels à me proposer me permettant d'implémenter l'ACL avec ce type de BDD, je suis prenneur

    Merci d'avance ^^

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 16
    Par défaut
    Bonjour,
    L'idée serait :
    - d'étendre ta classe modèle par Zend_Db_Table_Row_Abstract.
    - et de créer une méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function getType() {
       return $this->findDependentRowset('...');
    }
    ou d'utiliser directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $user->find<TableClass>()
    $user->find<TableClass>By<Rule>()
    http://framework.zend.com/manual/en/...hing.dependent

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 22
    Par défaut
    Merci bien , la réponse était devant mes yeux, mais j'avoue que je m'y perd un peu en ce moment, surtout sur la doc officielle

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. factorisation de code
    Par calagan99 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/05/2007, 09h00
  2. [C++] Factorisation de code
    Par xterminhate dans le forum C++
    Réponses: 6
    Dernier message: 07/11/2006, 16h21
  3. factoriser du code
    Par grabriel dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2006, 15h00
  4. Réponses: 7
    Dernier message: 01/08/2006, 11h58
  5. Réponses: 4
    Dernier message: 06/11/2003, 10h37

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