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 :

[ZF2] Quand les services sont là


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut [ZF2] Quand les services sont là
    Bonjour,

    Je débute en ZF2 et certaines notions me sont encore un peu flou, J'ai effectué le tutoriel album en entier, je me suis donc lancer à présent dans la gestion des ACL.

    J'ai utiliser ces tuto là :



    Malheureusement je suis tombé sur quelques problèmes quand j'ai essayé de l'adapter au squelette de base, plus précisément au niveau des services ... dans le module User j'ai cette configuration :

    Code Module.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public function getServiceConfig()
        {
        	return array(
        		'factories' => array(
        			'User\Model\UserTable' =>  function($sm) {
        				$tableGateway = $sm->get('UserTableGateway');
        				$table = new UserTable($tableGateway);
        				return $table;
    		    	},
    	    		'UserTableGateway' => function ($sm) {
    			    	$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
    			    	$resultSetPrototype = new ResultSet();
    			    	$resultSetPrototype->setArrayObjectPrototype(new User());
    			    	return new TableGateway('user', $dbAdapter, null, $resultSetPrototype);
    	    		},
    	    	),
        	);
        }

    j'aimerai utiliser ce qu'il y a dans les différents model dans la classe Adapter afin de pouvoir vérifier si l'utilisateur peut se connecter ou non. mais la page ce bloque complètement dans le code suivant à la ligne 84:

    Code Adapter .php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <?php
    /**
     * File for Auth Adapter Class
     *
     * @category  User
     * @author    Ritesh Jha (mailrkj@gmail.com)
     */
     
    namespace User\Auth;
     
    use Zend\Authentication\Adapter\AdapterInterface;
    use Zend\Authentication\Result as AuthenticationResult;
     
    use User\Model\User;
     
     
    class Adapter implements AdapterInterface{
     
    	protected $userTable;	
        /**
         * Digest authentication user
         *
         * @var string
         */
        protected $email;
     
        /**
         * Password for the user of the realm
         *
         * @var string
         */
        protected $password;
     
       /**
         * Sets the username option value
         *
         * @param  mixed $email
         * @return Digest Provides a fluent interface
         */
        public function setIdentity($email) {
            $this->email = (string) $email;
            return $this;
        }
     
        /**
         * Sets the password option value
         *
         * @param  mixed $password
         * @return Digest Provides a fluent interface
         */
        public function setCredential($password) {
            $this->password = (string) $password;
            return $this;
        }
     
        /**
         * Defined by Zend\Authentication\Adapter\AdapterInterface
         *
         * @throws Exception\ExceptionInterface
         * @return AuthenticationResult
         */
        public function authenticate() {    	
        	$user = $this->getUserTable()
        		->find_by_email_and_password($this->email, $this->password);
     
            //$user = User::find_by_email_and_password();
     
            if ($user) {
                $result['code'] = AuthenticationResult::SUCCESS;
                $result['identity'] = $user;
                $result['messages']['success'] = 'Logged in';
            } else {
                $result['code'] = AuthenticationResult::FAILURE_IDENTITY_NOT_FOUND;
                $result['messages']['invalid'] = "Email '$this->email' and password combination not found";
                $result['identity']= false;
            }
     
            return new AuthenticationResult($result['code'], $result['identity'], $result['messages']);
        }
     
        public function getUserTable()
        {
        	if (!$this->userTable) {
        		$sm = $this->getServiceLocator(); //SUR CETTE LIGNE
        		$this->userTable = $sm->get('User\Model\UserTable');
        	}
        	return $this->userTable;
        }
    }

    Donc je fais appel à vous afin de comprendre comment utiliser ces différents services ...

    Merci d'avance


    Edition :

    Je pense qu'il me faudrait juste récupérer le getServiceLocator(), mais pas moyen de trouver comment l'avoir.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 51
    Par défaut
    A priori ton code est bon.
    As tu un message d'erreur ?

    J'ai moi même coder la partie ACL mais à partir de mon propre module User.

Discussions similaires

  1. Quand les onglets sont interdits
    Par mawelle dans le forum IHM
    Réponses: 8
    Dernier message: 01/04/2008, 14h23
  2. Réponses: 5
    Dernier message: 09/07/2007, 14h53
  3. Réponses: 4
    Dernier message: 07/06/2007, 15h33
  4. Quand les ressources sont elles associées ?
    Par poulette3000 dans le forum Windows
    Réponses: 1
    Dernier message: 25/08/2006, 22h57

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