App strukturieren
Die Verzeichnisstruktur einer App ist einfach und flexibel. Das App folgt einer Reihe von Konventionen, die dabei helfen, den Code zwischen allen brandbox Apps konsistent zu halten.
Codeblock | ||
---|---|---|
| ||
brandbox/
└─ plugin-name/
│
├─ resources/
│ ├─ .phpstorm.meta.php/
│ ├─ data.conf/
│ ├─ languages/
│ │ ├─ de.xml
│ │ └─ en.xml
│ ├─ js/
│ ├─ presets/
│ ├─ wizards/
│ ├─ dashboard.json
│ └─ dashboard-config.json
│
├─ src/ (PSR-4)
| └─ {YourNamespace}/
| └─ {YourFeature}/
| ├─ Lib/
| | ├─ Entity/
| | ├─ Event/
| | ├─ Exceptions/
| | ├─ Execute/
| | ├─ Map/
│ | ├─ Migration/
| | ├─ Repository/
| | ├─ Request/
| | └─ Widget/
| ├─ views/
| ├─ config.json
| └─ engine.php
│
├─ test/ (PSR-4)
│ ├─ Cases/
│ ├─ Resources/
│ └─ phpunit.xml.dist
│
└─ composer.json |
Namenskonventionen
Der Name der App ergibt sich aus den Konventionen von composer. Ein Composer-Package besteht aus einem Wort-Paar in dieser Form: package_type/package_name
Alle brandbox Apps werden in den Namespace „brandbox“ gelegt: brandbox/package-name
Individuelle Apps tragen den Namen des Kunden wie folgt: brandbox/{$kunde}-package-name
Weitere Informationen
- Doctrine für Lib/Entity/
- Controller für engine.php
- Mapping für Lib/Map/
- Widgets für Lib/Widget/
- Handlebars für views/
- Übersetzungen für /resources/languages/
composer.json
Entspricht dem Aufbau wie er bei getcomposer.org
...
- beschrieben wird