Startseite
NexoPOS

Modul erstellen

Module sind der primäre Weg, um die Funktionalität von NexoPOS zu erweitern. Sie ermöglichen Entwicklern, neue Funktionen einzuführen, vorhandenes Verhalten anzupassen oder externe Dienste zu integrieren, ohne die Kernanwendung zu ändern.

Jedes Modul arbeitet als eigenständige Einheit mit eigener Logik, eigenen Ressourcen und eigener Konfiguration. Diese modulare Architektur stellt sicher, dass individuelle Entwicklungen isoliert bleiben und mit zukünftigen Updates von NexoPOS kompatibel sind.

Per Design behandelt NexoPOS Module als erstklassige Komponenten des Systems und ermöglicht so ein flexibles und skalierbares Ökosystem.

Architektur

Ein Modul ist als eigenständige Komponente innerhalb der Anwendung strukturiert. Es umfasst typischerweise:

  • Controllers: Handle application logic and user interactions
  • Views: Define the user interface rendered within the dashboard
  • Routes: Register accessible endpoints and navigation paths
  • Assets: Provide JavaScript, CSS, or other frontend resources
  • Configuration: Store module-specific settings and metadata

Alle Module werden im Verzeichnis „modules“ gespeichert und folgen einer standardisierten Struktur, um die Konsistenz im gesamten System sicherzustellen.

Modulgenerierung

NexoPOS enthält einen integrierten Artisan-Befehl, der dabei hilft, ein neues Modul mit der erwarteten Struktur zu erstellen. Dies ist der empfohlene Weg, um ein Modul zu starten, da er die Basisdateien und Verzeichnisse vorbereitet, die vom System benötigt werden.

Um ein Modul zu erstellen, öffnen Sie ein Terminal vom Stammverzeichnis Ihrer NexoPOS-Installation aus und führen Sie den folgenden Befehl aus:

php artisan make:module

Sobald der Befehl ausgeführt wurde, startet NexoPOS einen interaktiven Prozess und fordert eine Reihe von Details an.

Der erste Wert, der angegeben werden muss, ist der Modulnamespace. Dies ist der interne Bezeichner des Moduls und wird normalerweise in einem kompakten Format wie „FooBar“ geschrieben. Dieser Namespace wird verwendet, um das Modulverzeichnis zu erstellen und das Modul intern zu identifizieren.

.

image-8

Danach fragt NexoPOS nach dem Modulnamen. Im Gegensatz zum Namespace handelt es sich hierbei um den für Menschen lesbaren Namen, der Benutzern angezeigt werden kann. Beispielsweise kann ein Namespace wie „FooBar“ einen Namen wie „The FooBar Module“ verwenden.

image-9

Der nächste Prompt fordert den Namen des Autors an. Dieser wird verwendet, um zu identifizieren, wer das Modul erstellt hat, und wird in den Modulmetadaten gespeichert.

image-12

NexoPOS fordert anschließend eine kurze Beschreibung an. Diese Beschreibung erläutert kurz den Zweck des Moduls und hilft dabei, seine Rolle zu identifizieren.

image-13

Bevor die Dateien generiert werden, zeigt der Befehl eine Zusammenfassungstabelle mit den bereitgestellten Informationen an, einschließlich des Namespaces, des Namens, des Autors, der Beschreibung und der Version. In diesem Stadium ist eine Bestätigung erforderlich. Durch das Bestätigen der Informationen kann NexoPOS mit der Generierung fortfahren.

image-14

Sobald dies bestätigt ist, erstellt das System einen neuen Ordner im Verzeichnis „modules“ mithilfe des bereitgestellten Namespace. Wenn der Namespace beispielsweise „FooBar“ lautet, wird das generierte Modul unter „modules/FooBar“ erstellt.

module

Die generierte Struktur umfasst mehrere Verzeichnisse und Dateien, die das Modul für die weitere Entwicklung vorbereiten. Dazu gehören Ordner für Konfiguration, CRUD-Logik, Events, Facades, Felder, HTTP-Klassen, Mails, Migrations, Modelle, Provider, öffentliche Assets, Ressourcen, Routen und Services. Das Modul enthält außerdem zentrale Dateien wie config.xml und die Hauptmoduldatei.

Diese generierte Struktur bildet die Grundlage, um mit dem Aufbau von Funktionen zu beginnen und das Modul gleichzeitig gemäß den NexoPOS-Standards organisiert zu halten.

Empfehlung

Um die Kompatibilität und Wartbarkeit sicherzustellen, sollten Module stets mit dem integrierten Generator von NexoPOS erstellt werden.

Dies gewährleistet die Übereinstimmung mit den Systemstandards und verringert das Risiko von strukturellen oder Integrationsproblemen.