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?
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?