Zitat von
Spooky
Das geht so wie du dir das vorstellst nicht direkt. Du kannst aber Services decoraten und überschreiben, sowie Routes überschreiben. Warum genau willst du den Controller ersetzen?
Ich versuche zu verstehen wie die Herangehensweise ist um ein bestehendes Bundle zu "ändern" und zu erweitern.
Habe in der Symfony Doc eine Seite dazu gefunden : https://symfony.com/doc/5.0/bundles/...ml#controllers
Damit kann ich schon mal die Haupt Teile eines Bundles "overriden".
- Controller
- Templates
über serrvice decoration kann ich also bestimmen das meine Klasse geladen wird anstelle die vom Orginal Bundle.
PHP-Code:
# config/services.yaml
services:
App\Mailer: ~
# this replaces the old App\Mailer definition with the new one, the
# old definition is lost
App\Mailer:
class: App\NewMailer
Nun ist noch die Frage auf welche Teile ich schauen muss wenn
ich ein Bundle "erweitern" will.
Beispiel :
Ich installiere das neue Bundle und dann :
1. das neue Bundle fügt einen neuen Controller zum Orginal Bundle hinzu
2. das neue Bundle fügt Templates zum Orginal Bundle hinzu
3. das neue Bundle erweitert DCA
Das Orginal Bundle hat nun im Backend ein neues Input Feld , Und im Frontend gibt es einen Button der die Logik des neuen Controllers hat.
Ich denke das ist unterm Strich alles was ich brauche. Controller überschreiben .... Templates hinzufügen .... den Dca erweitern um in der Datenbank weitere felder hinzuzufügen / bestehende felder entfernen bzw auszublenden) ...
Ich wollte das Projekt erst forken .. Aber ein Kollege meinte ich sollte das Bundle erweitern um von der weiteren Entwicklung des orginal Bundles zu profitieren später.
Was das ganze etwas komplizierter macht ... Da ich halt nicht einfach die Dateien ändern kann des Orginal Bundles , sondern ein weiteres Bundle erstelle was sachen überschreibt / hinzufügt.