Re: [TYPO3-german] Factories in Dependency Injection
Hallo Tim! Tim Jordans wrote: Gibt es eine gute Möglichkeit diese Factory für die Dependency Injection bekannt zu geben. Nein. Das kann das auto wiring von TYPO3 nicht. Mein Vorschlag wäre den Code so zu bauen, dass Du die Dependency Injection manuell (idealer Weise an einer zentralen Stelle in Deinem Code) machst. Kind regards, Helmut -- Helmut Hummel Release Manager TYPO3 6.0 TYPO3 CMS Active Contributor, TYPO3 Security Team Member TYPO3 inspiring people to share! Get involved: typo3.org ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Factories in Dependency Injection
Wieso erweitern? Ich habe meine Klasse und möchte nun fremde injecten. Da diese fremden Klassen einen Konstruktor mit Parametern besitzen geht dies nicht einfach per @inject. Vielen Dank und Grüße Tim ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Factories in Dependency Injection
Hallo Tim, du willst also fremden Code erweitern. Am 27.06.2016 um 17:51 schrieb Tim Jordans: Ich möchte nicht Klassen von mir injecten, sondern welche auf die ich keinen Einfluß habe. Das dort im Konstruktor Strings benötigt werden, ist somit (leider) gegeben. Dann sind je nach Extension und Alter drei mögliche Verfahrensweisen von TYPO3 vorgesehen denkbar. a) Signal-Slot-Injection (modern) b) Hooks (früher c) xclass (sehr alt - selbst nicht mit gearbeitet https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Xclasses/Index.html) Mit besten Grüßen Dieter ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Factories in Dependency Injection
Hallo Dieter, ich habe nicht vor den inject-Mechanismus zu erweitern. Eigentlich suche ich nach dem "Wie in TYPO3-DI lösen". Ich möchte nicht Klassen von mir injecten, sondern welche auf die ich keinen Einfluß habe. Das dort im Konstruktor Strings benötigt werden, ist somit (leider) gegeben. Ein Beispiel ist z. B. ein PDO Objekt für den Zugriff auf eine Datenbank, die nicht von TYPO3 verwaltet wird. Die Übergabestrings ändern sich nicht bei jedem inject-Aufruf. Viele Dank und Grüße Tim ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Factories in Dependency Injection
Hallo Tim, Weiß ich nicht. Ich habe keine Ahnung, wie man den Injection-Mechanismus von TYPO3 erweitert Ich glaube auch nicht, dass es dafür eine Anleitung gibt. Ich bin bislang jedenfalls über keine gestolpert. Es ist mir nicht klar, warum du die String wirklich als Übergabe-Parameter brauchst. Dazu hast du dich bisher leider nicht geäußert. Außer deinen Willen diesen deinen Weg gehen zu wollen/müssen, kann ich bislang keinen Grund erkennen. Ändern sich die Übergabestring bei jedem Injection Aufruf, dann ist deine Klasse bzw. dein Object-Konzept vermutlich unvorteilhaft definiert. Sollen die Strings nur pflegbar, also jederzeit durch einen Redakteur Änderbar sein, könntest du die String zum Beispiel einfach global bei den Konstanten im TypoScript hinterlegen. Kurzum. Ich verstehe dein Problem nicht. Mit besten Grüßen Dieter Am 27.06.2016 um 09:34 schrieb Tim Jordans: Hallo Dieter, danke für deine Antwort. Mein Problem ist, dass durch @inject eine Klasse erwartet wird, deren Konstruktor keine Argumente benötigt. Nun habe ich eine solche Klasse und möchte Sie trotzdem injecten. Deshalb würde ich gerne eine Factory "dazwischen schalten". Wie bringe ich dies nun Typo3 bei? Vielen Dank und Grüße Tim ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Factories in Dependency Injection
Was ich vergessen habe zu erwähnen, dass es sich bei den Argumenten des Konstruktors um Strings handelt. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Factories in Dependency Injection
Hallo Dieter, danke für deine Antwort. Mein Problem ist, dass durch @inject eine Klasse erwartet wird, deren Konstruktor keine Argumente benötigt. Nun habe ich eine solche Klasse und möchte Sie trotzdem injecten. Deshalb würde ich gerne eine Factory "dazwischen schalten". Wie bringe ich dies nun Typo3 bei? Vielen Dank und Grüße Tim ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Factories in Dependency Injection
Hallo Tim, Konfigurationangaben sind keine Parameter und können/müssen innerhalb des Constructors der Klasse A bestimmt werden - auch ohne dezidierte Übergabe. Parameter sind Angaben, die erst zur Laufzeit konstruiert und bestimmt werden. Dieser Fall liegt, wenn ich deine Beschreibung richtig gelesen habe, augenscheinlich nicht vor. Was ist dein Problem? Ich verstehe es nicht. Mit besten Grüßen Dieter Am 27.06.2016 um 04:23 schrieb Tim Jordans: Hallo zusammen, aktuell nutze ich für meine Dependency Injection die inject-Annotation. Damit gebe ich die zu injizierende Klasse an. Es gibt jedoch Klassen die durch eine Factory erzeugt werden sollen. Gibt es eine gute Möglichkeit diese Factory für die Dependency Injection bekannt zu geben. Beispiel: Ich möchte eine Klasse A injecten die im Konstruktor mehrere Parameter (kann nicht verändert werden) erwartet. Die Parameter werden durch die Konfiguration gesetzt. Meine Idee ist es, eine Factory zu schreiben die die Konfiguration injiziert bekommt und die Klasse A dadurch erstellen kann. Eine Klasse Z die Klasse A benutzen möchte, soll diese injiziert bekommen (bestenfalls per @inject). Wie kann ich dies in TYPO3 realisieren? Über Vorschläge würde ich mich sehr freuen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Factories in Dependency Injection
Hallo zusammen, aktuell nutze ich für meine Dependency Injection die inject-Annotation. Damit gebe ich die zu injizierende Klasse an. Es gibt jedoch Klassen die durch eine Factory erzeugt werden sollen. Gibt es eine gute Möglichkeit diese Factory für die Dependency Injection bekannt zu geben. Beispiel: Ich möchte eine Klasse A injecten die im Konstruktor mehrere Parameter (kann nicht verändert werden) erwartet. Die Parameter werden durch die Konfiguration gesetzt. Meine Idee ist es, eine Factory zu schreiben die die Konfiguration injiziert bekommt und die Klasse A dadurch erstellen kann. Eine Klasse Z die Klasse A benutzen möchte, soll diese injiziert bekommen (bestenfalls per @inject). Wie kann ich dies in TYPO3 realisieren? Über Vorschläge würde ich mich sehr freuen. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german