Oxid 6 Module: Namespaces am Beispiel PayPal-Modul

Hallo zusammen,
ich versuche die Logik von Namespaces beim Modul-Bau für Oxid 6 zu verstehen, und zwar am empfohlenen Beispiel des mitgelieferten PayPal-Moduls. Was ich nicht begreife: Die verwendeten Namespaces stimmen überhaupt nicht mit den Dateipfaden überein.
Etwa in Model/user.php bzw. in den hinterlegten Angaben in metadata.php:
OxidEsales\PayPalModule\Model
Die tatsächlichen Dateien liegen aber in
/srv/vhost-name/source/modules/oe/oepaypal/Model/User.php
bzw.
/srv/vhost-name/vendor/oxid-esales/paypal-module/Model/User.php

Das sind also für alle Fälle erhebliche Unterschiede:

"PayPalModule" != "paypal-module"
"PayPalModule" != "oepaypal"
"OxidEsales" != "oe"
"OxidEsales" != "oxid-esales"

Wie kommt man auf die korrekten Namespaces, wenn sie nicht vom Pfad abgeleitet werden?

Der Namespace steht in der composer.json des Moduls.

1 Like

Danke, das ist wieder ein wichtiges Puzzle-Stück für mich :slight_smile: