Domanda

Ho dei servizi che sono colpiti con una certa etichetta nel mio progetto Symfony2 che mi piacerebbe utilizzare all'interno di un controller.

Di conseguenza, sto cercando di capire il modo migliore per farli passare al controller, e ho pensato che forse c'è un modo per farlo con il sistema di configurazione complessiva di Symfony2.

#  Inside routing.yml:
my_controller:
  pattern: "/path"
  defaults {
      _controller: Bundle:Controller:action
      # The following line is kind of what I'm looking for.
      myParam: @my.tag
  }

# Inside a services.yml file:
my.service:
  class: Bundle\MyService
  tags:
      - { name: my.tag }
my.otherService:
  class: Bundle\MyOtherService
  tags:
      - { name: my.tag }

Dati i due esempi di file di configurazione di cui sopra, mi piacerebbe in modo che la mia istanza di "Bundle: Regolatore: azione" riceve un array che contiene le istanze di "Bundle \ MyService" e "Bundle \ MyOtherService"

.

Grazie!

È stato utile?

Soluzione

Questa discussione sui gruppi di Google ha portato ad una soluzione . Alcune delle API tuttavia è cambiato. Vale a dire:

  • Il metodo fascio si modifica è build (), non registerExtensions ().
  • Il metodo di estensione si sovraccarico è carico () non configLoad ().

Fino a quando si spostano i due blocchi di codice di conseguenza e implementare correttamente, si dovrebbe essere in grado di ottenere qualcosa sulla falsariga di funzionalità che voglio.

Purtroppo, questo non è in alcun modo automatizzato da parte del DIC, ma è importante notare che io ho l'obbligo di ottenere tutto di un tag specifico. Non solo dal mio fagotto, ma da ogni fascio fino a diventare parte della app.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top