Foto von Annie Spratt bei Unsplash

Symfony Bundles einfach erstellen

English version -> on medium.com

Du erstellst öfter wundervolle und wiederverwendbare Bundles für Symfony? Nervt es Dich auch, dass Du immer wieder alle Ordner samt wichtiger Dateien erstellen musst und in der bundles.php Einträge vornehmen musst?

Ja, uns hat es auch genervt. Immer wieder den Blockeintrag Best Practices for Reusable Bundles öffnen und durchgehen… Aber sind wir nicht Programmierer? Richtig!

Automatisch erstellte Ordner und Dateien von NetBrothers-Create-Symfony-Bundle-Bundle

Die von netbrothers-gmbh/nbcsb-bundle automatisch erstellten Ordner und Dateien.

Deshalb haben die NetBrothers ein wundervolles und wiederverwendbares Bundle programmiert – das NetBrothers-Create-Symfony-Bundle-Bundle. Du kannst den Code auf GitHub einsehen und Dank Packagist via composer in Dein Symfony-Projekt integrieren.

Wie funktioniert es?

Nach Installation unseres nbcsb-bundle wechselst Du auf der Console in das Projektverzeichnis Deines Symfony-Projektes. Denk Dir einen klingenden Namen aus. Achte dabei auf die Konvention. Führe dann folgenden Befehl aus:

php bin/console netbrothers:make-bundle [YourBundleName]

Dabei ersetzt Du natürlich YourBundleName gegen den von Dir ausgedachten Namen! Und … oh Wunder! Dein Bundle ist sofort einsatzbereit.

Was ist passiert?

In Deinem Projektverzeichnis ist unter src/ Dein Bundle erstellt worden. Gleichzeitig wurde ein Eintrag in der config/bundles.php hinzugefügt. Die alte bundles.php ist als bundles.backup gesichert worden. Welche Ordner und Dateien erstellt werden, zeigt Dir das Bild.

Dein Bundle ist nun unter dem Namespace App\YourBundleName registriert. Da es sich direkt unterhalb des Namespace App befindet, ist es auch sofort einsatzbereit. Du kannst nun sofort mit der Programmierung starten.

Templates ändern?

Klar! Die Installation bringt eigene Templates mit. Diese finden sich im Bundle im Ordner installation\

Kopiere diese an ein beliebigen Ort. Passe sie an.

Anschließend musst Du die Datei installation/config/packages/netbrothers_nbcsb.yaml nach config\packages\ kopieren. Trage dann in dieser Datei den absoluten Pfad zu Deinem Template-Verzeichnis an.

Da die Konfiguration geändert wurde, musst Du den Cache von Symfony leeren.