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.

 

1 Like

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

1 Like

@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.

1 Like