Struktur
Das App folgt einer Reihe von Konventionen, die dabei helfen, den Code zwischen allen brandbox Apps konsistent zu halten. Siehe Namenskonventionen der Apps.
Codeblock | ||
---|---|---|
| ||
brandbox/ └─ {app-name}/ │ ├─ resources/ │ ├─ .phpstorm.meta.php/ │ ├─ data.conf/ │ ├─ languages/ │ │ ├─ de.xml │ │ └─ en.xml │ ├─ js/ │ ├─ dashboard.json │ └─ dashboard-config.json │ ├─ src/ (PSR-4) | └─ {PackageNamespace}/ | └─ {PackageName}/ | ├─ Lib/ | | ├─ Entity/ | | ├─ Event/ | | ├─ Exceptions/ | | ├─ Execute/ | | ├─ Listener/ | | | └─ {PackageOfEvent}/ | | | └─ EventListener.php │ | ├─ Migration/ | | ├─ Repository/ | | ├─ Request/ | | ├─ Structure/ | | └─ Subscriber/ | | └─ {PackageOfEvent}Subscriber.php | ├─ config.json | ├─ crud.json | ├─ modelling.json | ├─ structure.json | ├─ widget.json | └─ *Manager.php | └─ Engine.php │ ├─ test/ (PSR-4) │ ├─ Cases/ │ ├─ Resources/ │ └─ phpunit.xml.dist │ └─ composer.json |
Konventionen, die bei der Erstellung von Apps gelten, finden Sie hier.
Aufbau
Ordner | Inhalt |
---|---|
Controller und Routing | |
/src/{PackageNamespace}/{PackageName}/Lib/Engine.php | Basis-Controller. Siehe Controller und Routing. |
/src/{PackageNamespace}/{PackageName}/Lib/*Manager.php | Basis-Controller. Siehe Controller und Routing. |
/src/{PackageNamespace}/{PackageName}/Lib/Execute/ | Auszuführender Code, der statusändernden Character hat. Siehe Controller und Routing |
/src/{PackageNamespace}/{PackageName}/Lib/Request/ | Auszuführender Code, der Inhalte an einen Endpunkt ausgibt. Siehe Controller und Routing |
Doctrine | |
/src/{PackageNamespace}/{PackageName}/Lib/Entity/ | Doctrine-Entities. Siehe Entitäten um individuelle Properties anreichern |
/src/{PackageNamespace}/{PackageName}/Lib/Repository/ | Doctrine-Repositories |
Crud | |
/src/{PackageNamespace}/{PackageName}/crud.json | Definition von geführten Aktionen zum Löschen/Kopieren. Siehe Crud. |
Modelling | |
/src/{PackageNamespace}/{PackageName}/widget.json | Definition vorhandener Datenbanktabellen (Entities) sowie die Beziehung zwischen Datenbanktabellen. Siehe Widget (Component/Widget). |
/src/{PackageNamespace}/{PackageName}/structure.json | Strukturdefinitionen. Siehe Widget (Component/Widget). |
/src/{PackageNamespace}/{PackageName}/modelling.json | Modellingdefinition. Siehe Widget (Component/Widget). |
PSR-14 / Events | |
/src/{PackageNamespace}/{PackageName}/Lib/Event/ | Events, die von \Symfony\Contracts\EventDispatcher\Event ableiten (siehe Event). |
/src/{PackageNamespace}/{PackageName}/Lib/Listener/ | Listener enthalten in brandbox den auszuführenden Code. Sie werden von den Subscribern aufgerufen und ausgeführt. |
/src/{PackageNamespace}/{PackageName}/Lib/Subscriber/ | Subscriber, die von \Symfony\Component\EventDispatcher\EventSubscriberInterface ableiten. |
Allgemeines | |
/src/{PackageNamespace}/{PackageName}/Lib/Exceptions/ | Ein zentraler Ort für alle Exceptions des Packages |
/src/{PackageNamespace}/{PackageName}/Lib/Migration/ | Migrationen. Siehe Migrate. |
/src/{PackageNamespace}/{PackageName}/js/ | Javascript-Code der sich auf dieses Package bezieht |
Ressourcen | |
/resources/.phpstorm.meta.php/ | PhpStorm advanced metadata |
/resources/data.conf/ | XSLT-Datein zur Verwendung bei Ex- und Import-Transformationen. Siehe Transformationen. |
/resources/languages/ | Zwei Dateien, die immer existieren müssen: de.xml und en.xml. Siehe Übersetzungen (i18n). |
/resources/js/ | Javascript-Dateien der App. |
/resources/dashboard.json | Eine Datei zur Strukturierung eines Dashboards. Siehe Dashboard (Base/Dashboard). |
/resources/dashboard-config.json | Eine Datei zur Erstellung eines Dashboards. Siehe Dashboard (Base/Dashboard). |
Worauf ist zu achten? Besondere Hinweise.
...