Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-02-2013 18:35:22

irumi
Membre
Date d'inscription: 29-04-2011
Messages: 47

Accès au service manager depuis la vue?

Bonjour, je me demandait s'il était possible d’accéder au service manager depuis une vue (ou layout).

En faite je voudrais passer me Acl à l'aide de vue Navigation sans avoir à les récupérer dans chaque module.

Merci

Hors ligne

 

#2 15-02-2013 08:35:56

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

Re: Accès au service manager depuis la vue?

Salut, tu peux le faire dans des aides de vue.

Hors ligne

 

#3 15-02-2013 14:26:19

irumi
Membre
Date d'inscription: 29-04-2011
Messages: 47

Re: Accès au service manager depuis la vue?

Ha oui, je n'y avait pas pensé. Je vais 'surcharger' l'aide déjà existante. Merci

Hors ligne

 

#4 20-05-2013 12:49:44

DontShootMe
Nouveau membre
Date d'inscription: 17-12-2010
Messages: 6

Re: Accès au service manager depuis la vue?

pour ceux qui recherche la réponse à la question :

Code:

 [lang=php]
// depuis la vue :
$helperPluginManager = $this->getHelperPluginManager();
$serviceManager = $helperPluginManager->getServiceLocator();

$monService = $serviceManager->get('monSuperService');

Hors ligne

 

#5 21-05-2013 00:30:15

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

Re: Accès au service manager depuis la vue?

Oui effectivement on peux faire comme ça mais c'est pas très propre. Dans la pratique tu n'es pas censé avoir accès à ta couche service depuis la vue. Pour ça tu dois passer par des aides de vues.

Hors ligne

 

#6 21-05-2013 17:56:40

DontShootMe
Nouveau membre
Date d'inscription: 17-12-2010
Messages: 6

Re: Accès au service manager depuis la vue?

Oui effectivement, tes conseils sont à suivre, cependant il est parfois nécessaire de passer par des choses pas très propres afin de comprendre pourquoi ce n'est pas propre !

De plus la réponse est là pour que l'on puisse comprendre les différentes imbrication du framework !

Donc en complément de ta réponse :

Pour ça tu dois passer par des aides de vues

Depuis une aide de vue :

Code:

[lang=php]

// On commence par récuperer la vue :
$view = $this->getView();

// et on fait la même chose depuis l'objet vue:
$pluginManager = $view->getHelperPluginManager();
$serviceLocator = $pluginManager->getServiceLocator();

$monService = $serviceManager->get('monSuperService');

Hors ligne

 

#7 21-05-2013 18:09:27

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

Re: Accès au service manager depuis la vue?

En fait tu peux faire plus simple depuis ton aide de vue. C'est du détail mais encore une fois c'est plus propre et tu gagnes une ligne car tu n'es pas obligé de récupérer la vue.

Code:

[lang=php]
$helperPluginManager = $this->getServiceLocator(); // Retourne helper plugin manager
$serviceManager = $helperPluginManager->getServiceLocator(); // Retourne le service manager

// et après comme tu le dis effectivement
$monService = $serviceManager->get('monSuperService');

Hors ligne

 

#8 21-05-2013 18:22:56

DontShootMe
Nouveau membre
Date d'inscription: 17-12-2010
Messages: 6

Re: Accès au service manager depuis la vue?

En effet c'est plus efficace si on pas besoin de récupérer la vue !

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