# Eigene Services in Plugin-Klasse während des Installierens nutzen

**URL:** <https://forum.shopware.com/t/eigene-services-in-plugin-klasse-wahrend-des-installierens-nutzen/51249>\
**Category:** Programmierung\
**Created:** [20. Februar 2018 um 10:19 UTC](https://forum.shopware.com/t/eigene-services-in-plugin-klasse-wahrend-des-installierens-nutzen/51249 "2018-02-20T10:19:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubst3pp4](https://avatars.discourse-cdn.com/v4/letter/d/58f4c7/32.png) [@dubst3pp4](https://forum.shopware.com/u/dubst3pp4)\
**Post date:** [20. Februar 2018 um 10:19 UTC](https://forum.shopware.com/t/eigene-services-in-plugin-klasse-wahrend-des-installierens-nutzen/51249/1 "2018-02-20T10:19:44Z")

</div>

Hallo,

für mein Plugin habe ich einige Services geschrieben, welche ich auch erfolgreich im Backend-Controller des Plugins nutze.

Nun wollte ich die selben Services direkt in der Plugin-Klasse (die von Plugin erbt) beim Installieren / Deinstallieren des Plugins nutzen, jedoch sagt mir Shopware in diesem Fall:

```
 You have requested a non-existent service "my\_plugin.attribute\_helper"

```

Unter diesem Namen (my\_plugin.attribute\_helper) kann ich den Service im Controller allerdings nutzen. Meine Vermutung ist also, dass der DI-Container beim Installieren / Deinstallieren die Services, die ein Plugin registriert, gar nicht kennt. Ist dem so? Sollte ich die Klassen des Services dann also lieber manuell einbinden, anstatt über den Service?

Danke und viele Grüße,  
Marc

&nbsp;

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [20. Februar 2018 um 21:23 UTC](https://forum.shopware.com/t/eigene-services-in-plugin-klasse-wahrend-des-installierens-nutzen/51249/2 "2018-02-20T21:23:21Z")

</div>

Hey Marc,

Der Service ist erst ab den nächsten Request da. Du solltest den Service am besten selbst constructen bei der Installation&nbsp;

---

<div class="post-metadata">

**Author:** ![dubst3pp4](https://avatars.discourse-cdn.com/v4/letter/d/58f4c7/32.png) [@dubst3pp4](https://forum.shopware.com/u/dubst3pp4)\
**Post date:** [21. Februar 2018 um 08:23 UTC](https://forum.shopware.com/t/eigene-services-in-plugin-klasse-wahrend-des-installierens-nutzen/51249/3 "2018-02-21T08:23:22Z")

</div>

Danke, @Shyim‍, so habe ich es jetzt auch gelöst. Mit dem nächsten Request meinst du den Zeitpunkt, nachdem das Plugin installiert ist, oder?

---

<div class="post-metadata">

**Author:** ![paddelboot](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@paddelboot](https://forum.shopware.com/u/paddelboot)\
**Post date:** [6. Mai 2019 um 15:35 UTC](https://forum.shopware.com/t/eigene-services-in-plugin-klasse-wahrend-des-installierens-nutzen/51249/4 "2019-05-06T15:35:45Z")

</div>

Ich wollte mich hier kurz anhängen, weil ich dasselbe Problem habe:

**You have requested a non-existent service: my\_namespace.supplier\_codes\_updater**

Das Problem ist, dass dieser Service einige Abhängigkeiten hat, die ich ebenfalls in der _services.xml_ definiere. Mit einem simplen new() komme ich da also nicht weiter.

Der Service selber liest bei der Plugin-Aktivierung einige Daten aus einer entfernten API und persistiert sie mit Hilfe eines eigenen Models. Löse ich so etwas wirklich am Besten mit einem Service in der Plugin-Klasse, oder gibt es bessere Herangehensweisen?

&nbsp;

Danke, Paddelboot
