Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-04-2013 13:57:41

ghislainf
Nouveau membre
Date d'inscription: 12-04-2013
Messages: 3
Site web

Override ZF2 library et module

Bonjour,

Je commence à étudier sérieusement ZF2 et je bloque sur un point, comment overrider une class de Zend ou d'un module simplement ?

Les événements et la possibilité d'overrider la config réduit les chances d'avoir recours à l'override mais dans certain cas on n'a pas le choix.

Merci

Hors ligne

 

#2 12-04-2013 14:19:19

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

Re: Override ZF2 library et module

Salut, je ne vois pas trop en quoi ça pose problème tu étends la classe dont tu as besoin et tu l'utilise au lieu d'utiliser celle du ZF2.

Après si tu veux réécrire un composant MVC du ZF2 il suffit d'étendre se composant ou d'en créer un autre répondant à l'interface puis de remplacer la conf vers cette nouvelle classe et c'est gagné.

Hors ligne

 

#3 12-04-2013 20:39:33

ghislainf
Nouveau membre
Date d'inscription: 12-04-2013
Messages: 3
Site web

Re: Override ZF2 library et module

Salut,

J'avais effectivement en tête l'override d'un composant MVC. Quand tu parle d'éditer la conf pour que la classe appelé soit celle que tu as étendu c'est à qu'elle niveau ? La conf du DI ?

Si tu as un exemple sous la main ça serai top !

Merci smile

Hors ligne

 

#4 12-04-2013 22:48:48

YannickDa
Membre
Date d'inscription: 05-04-2013
Messages: 29
Site web

Re: Override ZF2 library et module

C'est un peu vaste ta demande... C'est quoi que tu recherche précisément ?

Tu cherche à faire un override d'un controller ? Peux tu préciser ton but ?

Hors ligne

 

#5 13-04-2013 00:44:18

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

Re: Override ZF2 library et module

Oui c'est ça soit via le DI soit changer la classe auquel fait référence une entrée dans le service manager pour prendre en compte ta modification. Mais effectivement plus de précisions nous permettrait de t'aider d'avantage wink

Hors ligne

 

#6 14-04-2013 18:55:18

ghislainf
Nouveau membre
Date d'inscription: 12-04-2013
Messages: 3
Site web

Re: Override ZF2 library et module

Pour donner un exemple j'ai besoin d'override la class Zend\ModuleManager\Listener\ConfigListener pour ajouter un getter de l'attribut skipConfig.
Si j'ai bien capté Orkin, il me suffit d'extends cette class et d'ajouter le getter. Ensuite dans la conf de mon module je dois spécifié au DI que Zend\ModuleManager\Listener\ConfigListener est maintenant MonNamespace\ModuleManager\Listener\ConfigListener.

Je n'ai pas trouvé dans la doc ce qui me permet de faire ça dans la conf du DI.

Une idée ?

Hors ligne

 

#7 14-04-2013 19:16:51

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

Re: Override ZF2 library et module

Normalement oui c'est ça mais je comprend pas pourquoi tu as besoin d'étendre ConfigListener. Tu peux très bien rajouter la conf que tu as besoin dans une entrée contenant le nom de ton module et la récupérer quand tu en as besoin.

Hors ligne

 

#8 17-05-2013 16:24:46

jmleroux
Membre
Lieu: Nantes
Date d'inscription: 14-11-2012
Messages: 32
Site web

Re: Override ZF2 library et module

Tu peux également utiliser un alias de service pour forcer l'utilisation de ta classe si celle-ci fait partie du serviceManager.

Hors ligne

 

#9 17-05-2013 17:31:37

blanchonvincent
Membre
Lieu: Sophia Antipolis
Date d'inscription: 18-11-2009
Messages: 45
Site web

Re: Override ZF2 library et module

Bonjour,

Si tu veux surcharger la classe Zend\ModuleManager\Listener\ConfigListener, tu va devoir réécrire la fabrique du gestionnaire de module car elle construit explicitement la classe DefaultListenerAggregate (https://github.com/zendframework/zf2/bl … actory.php) qui instancie la classe ConfigListener.

Voici un exemple de surcharge de ConfigListener avec ce projet : https://github.com/blanchonvincent/zf2- … ster/ZFMLL .

Cdt,

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