Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
je suis tout nouveau dans le monde Zend, aussi pardonnez moi mon ignorance du sujet.
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
Il faut injecter ton ServiceManager dans ta classe.
Hors ligne
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
[lang=php]$server->setObject(new MyClass());
Tu vas le remplacer par
[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