Dependency Injection mit Parametern

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    06. 12. 2011, 12:05

    Hallo,

    ich habe bei mir im Controller einen Service, den ich per DI einbinde. Dieser erwartet im Konstruktor aber Parameter. Wie kann ich ihm diese übergeben?

    Danke und Gruß


  • 1
  • tpronold tpronold
    TYPO3-Anwärter
    0 x
    6 Beiträge
    1 Hilfreiche Beiträge
    14. 12. 2011, 20:33

    1. injectMe(new MrInjector($paramter, $parameter2,...)) {
    2.  
    3. }

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    15. 12. 2011, 10:48

    [quote="tpronold"]

    1. injectMe(new MrInjector($paramter, $parameter2,...)) {
    2.  
    3. }

    [/quote]

    Dann hab ich aber doch ne neue Instanz von MrInjector...

  • rlp_immigrant rlp_immig...
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    16. 12. 2011, 09:25

    [quote="BFSven"]
    Dann hab ich aber doch ne neue Instanz von MrInjector...
    [/quote]

    Öhm...hast du mal darüber nachgedacht bevor du gepostet hast?;)
    Du willst dem Konstruktor mehrfach mit verschiedenen Parametern aufrufen? Ist doch logisch das da mehrere Instanzen rauskommen müssen. Der Konstruktor wird ja nur beim Erstellen einer Instanz verwenden. Grundlagen OOP.

    Wenn es wirklich nur eine Instanz geben darf müsstest du die zu injizierende Klasse anpassen und den Parameter mittels einer Settermethode setzen.

    Grüße
    Alex

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    16. 12. 2011, 10:07

    [quote="rlp_immigrant"]Öhm...hast du mal darüber nachgedacht bevor du gepostet hast?;)[/quote]
    Ehrlich gesagt, ist es mir aufgefallen, als ich es abgeschickt habe, ich hatte aber gehofft es merkt keiner :o

    Dann macht der Vorschlag von Thomas natürlich Sinn, danke für die Kopfnuss :p

  • 1