Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-02-2013 09:51:36

Freddd
Nouveau membre
Date d'inscription: 27-02-2013
Messages: 1

Accès au service manager

Bonjour,

je suis tout nouveau dans le monde Zend, aussi pardonnez moi mon ignorance du sujet. wink

Dans le cadre d'un projet, nous développons une application web sous Zend 2. Pour l'instant tout se passe bien, par contre nous devons développer également un webservice SOAP, et c'est là que ça se complique.

J'ai suivi le "tutorial" de Zend 2 (http://framework.zend.com/manual/2.1/en … erver.html), j'arrive à réaliser ce qu'il propose et ça marche. Par contre, dès que je veux créer une fonction appelant un modèle (me permettant par exemple de retourner une liste d'objets), il me faut le ServiceManager. Et forcément, il est nul dans la classe MyClass (je reprends les termes de l'exemple Zend).

Comment puis-je faire pour récupérer cette valeur ? Dois-je faire comme pour l'utilisation de PHPUnit et créer une sorte de Bootstrap ?

Je suis tombé sur ce post (http://www.z-f.fr/forum/viewtopic.php?id=8512), mais je n'ai pas l'impression que ça s'applique à mon cas.

Je vous remercie.

Hors ligne

 

#2 28-02-2013 19:25:00

Frederic Bouchery
Nouveau membre
Date d'inscription: 11-01-2012
Messages: 6

Re: Accès au service manager

Il faut injecter ton ServiceManager dans ta classe.

Hors ligne

 

#3 01-03-2013 09:25:49

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Accès au service manager

Salut, si tu veux avoir du support sur le ZF2 évites d'aller poster dans le forum du ZF1. Moi je dis ça c'est pour toi ...

Je déplace.

Pour répondre à ta question tu dois créer une clé pour ta classe pour le service manager. Pour se faire il suffit de suivre le sujet que tu as indiqué il te concerne.
Tu dois donc faire une clé dans "invokable" pour MyClass.

Une fois que c'est fait lorsque tu vas faire

Code:

[lang=php]$server->setObject(new MyClass());

Tu vas le remplacer par

Code:

[lang=php]$server->setObject($this->getServiceManager()->get('Clé définie dans invokable');

Enfin une fois que tout ça est fait tu n'as plus qu'à implémenter la bonne interface comme expliqué dans l'autre sujet pour que le service manager soit injecter lors de l'instanciation de ta classe.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages