Zum Inhalt springen

Services unter Typo3

Erstellt am 22. September 2004 · 1 Antwort · letzte Antwort am 13. Oktober 2004

Tags: PHP, Frage

maxhb ·

Hi!
Seit der 3.6 Version von Typo3 kann man über den Extension-Kickstarter neben FE- und BE-Plugins auch Services erstellen.
Leider erscheint mir die Doku zum Thema ein wenig dürftig, zumindest scheitere ich schon bei den ersten Versuchen.

Habe mir eine einfache Vorlage per kickstarter gebastelt und die Extension dann installiert. In einer anderen Extension versuche ich nun, diese Service-Klasse zu instantiieren, es will aber nicht klappen...

if (is_object($serviceObj = t3lib_div::makeInstanceService('f2m_db_conn'))) {

	$content .= "Objekt instanziert!";

}
else $content .= "Objekt konnte NICHT instanziert werden!";

leider wird aber immer "Objekt konnte NICHT instanziert werden!" ausgegeben und ich verstehe nicht, was da schief läuft 😢

Hat jemand einen hilfreichen Hinweis für mich?

CU
maxhb

mmarkmann ·

Hallo,

zuerst einmal muß sichergestellt sein, daß du den Service-Type als Parameter für "makeInstanceService(...)" angibst. Der Service-Type steht in der "ext_tables.php" des Services.

Ansonsten versuch mal folgendes:

tslib_fe::includeTCA();

if (is_object($serviceObj = t3lib_div::makeInstanceService('f2m_db_conn'))) {

   $content .= "Objekt instanziert!";

}
else $content .= "Objekt konnte NICHT instanziert werden!";

Dies hat mir geholfen den Fehler zu beseitigen, allerdings bin ich nicht wirklich zufrieden damit, daß gesamte TCA vorher manuell zu laden.

Vielleicht weiß da jemand eine bessere Lösung?