Controller und PHP-Namespace

Hier: FroshProfiler/Profiler.php at master · FriendsOfShopware/FroshProfiler · GitHub sehe ich einen Controller, der PHP-Namespaces verwendet, und nicht den eher altmodischen Ansatz mit Klassennamen und Namespace-Präfixen, wie in der Dokumentation vorgeschlagen (Shopware controller). Wenn ich versuche, den Controller mit PHP-Namespace zu erweitern, wirft Shopware allerdings eine Fehlermeldung:

„Class Shopware_Controllers_Frontend_Ersatzteilsuche does not exist […]“

Muss ich die Controller mit PHP-Namespace manuell registrieren oder so etwas?

Danke & Grüße, Paddelboot

Hallo,

 

ah, interessant.

Aber dann muß man den wohl registrieren, haben die zumindest gemacht.

Viele Grüße,

Werner.

 

Genau diese Controller müssen selbst registriert werden via Subscriber. Alternativ autoregister von Controllern verwenden

FYI: Ab Shopware 5.6 ist das nicht mehr alles nötig, man kann Controller als Services anlegen https://github.com/shopware/shopware/blob/5.6/UPGRADE-5.6.md#controller-registration-using-di-tag

@WernerBu schrieb:

Hallo,

 

ah, interessant.

Aber dann muß man den wohl registrieren, haben die zumindest gemacht.

https://github.com/FriendsOfShopware/FroshProfiler/blob/master/Subscriber/ProfilerController.php

Viele Grüße,

Werner.

 

Danke, hatte ich übersehen. Irgendwie fies, eine Subscriber-Klasse, die dazu dient, einen Controller zu registrieren. Die Mischung aus Klassennamen-Namespace in Controllern und PHP-Namespace (zB. in den Serviceklassen) scheint mir auch nicht ganz das Gelbe vom Ei.

 

@Shyim Danke, derzeit läuft bei mir allerdings die 5.5.8.