Wir werden sicher einige Plugins für unseren Shop bauen und deswegen möchte ich Services (Helper) in einem Basis Plugin erstellen, auf die andere Plugin zugreifen können. So ist mir zB recht unerwartet aufgefallen, dass innerhalb von Shopware nichtmal so banale Daten wie der locale code (de_de, fr_fr, …) des aktuellen Shops zur Verfügung stehen.
In Swag PayPal habe ich genau den Service gefunden, den ich nutzen würde -> Util\LocaleCodeProvider
Ich kann diesen innerhalb meiner Plugins nutzen. Ich würde aber sehr gern die Abhängigkeit von Swag Plugins minimal halten, dass Updates dieser nicht meine eigenen Plugins zerschießen.
Ich habe also ein Basic Plugin gestartet, installiert und aktiviert. Die Service Klasse angelegt und in der service.xml registiert. Will ich diese allerdings in meinem anderen Plugin nutzen, erhalte ich imemr den Fehler, dass er den Service nicht kennt. "The service „Smy\ProductDesigner\Subscriber\ProductSubscriber“ has a dependency on a non-existent service „Smy\Basic\Service\LocaleCodeService“. "
Basic service.xml
Plugin service.xml
Im Subscriber ist entsprechend auch per Use der Service eingebunden (use Smy\Basic\Service\LocaleCodeService;) und im constructor wir er ebenfalls übernommen.
PHPStorm kann mit dem Symfony Plugin auch die Pfade alle wunderbar auflösen. Habe caches geleert und auch ein Reinstall des Plugins versucht.
Steh ein wenig auf dem Schlauch, was falsch sein könnte.