[TYPO3-german] Re: t3lib_div::readLLfile() schmeißt seit 4.6 mit Arrays um sich

Stefan Frömken firma at sfroemken.de
Tue Sep 25 16:44:15 CEST 2012


Hallo TYPO3,

ich finde es richtig gut, dass TYPO3 endlich mal aufgeräumt wird. Ein 
guter Schritt ist das Deprecation-Log. Cool ist auch, dass schon seit 
der 4.5er Version wichtige Kernmethoden in eigene Klassen ausgelagert 
wurden wie z.B. die Methoden aus t3lib_utility_Debug. Auch hier greift 
das Deprecation-Log ein und schlägt allen Usern, die noch die alten 
Aufrufe verwenden die neuen Methoden dieser Klasse vor.

Was ich aber nicht verstehe ist, wenn ich 4 Stunden für einen Corepatch 
hinlege und dann gesagt bekomme: NEIN! Das geht so nicht, dass ist nicht 
abwärtskompatibel! Mensch Leute...dat war für die 6er Version, warum 
soll da noch etwas abwärtskompatibel bleiben?!

Naja...und nun stehe ich hier vor der kleinen TYPO3-Methode readLLfile, 
die OHNE Ankündigung und OHNE Dokumentation und OHNE Alternativvorschlag 
und OHNE Eintrag im Deprecation-Log einfach mal grundlegend geändert 
wurde. Abwärtskompatibilität wird hier auf einmal sehr klein geschrieben.

Für alle TYPO3-Entwickler gelten die gleichen Vorgaben und doch habe ich 
manchmal das Gefühl, das Patches von TYPO3-Teammembers und 
TYPO3-Community eine völlig andere Gewichtung aufweisen.

In meinem Fall habe ich nun wie auch in der piBase-Programmierung auch 
eine eigene Methode geschrieben (pi_getLL), die sich je nach 
TYPO3-Version die Daten aus den unterschiedlichen Ebenen des 
LOCAL_LANG-Arrays ziehen kann und ALLE Aufrufe an dieses damals sehr 
einfache Array auf die neue Methode gemapped. Danke auch an die 
extbase-Extension, die mit ähnlichen Problemen fertig werden musste:

if (is_array(self::$LOCAL_LANG[$extensionName][self::$languageKey][$key])) {
	// TYPO3 >= 4.6
$value = 
self::$LOCAL_LANG[$extensionName][self::$languageKey][$key][0]['target'];
} else {
	// TYPO3 < 4.6
$value = self::$LOCAL_LANG[$extensionName][self::$languageKey][$key];
}

Stefan


Am 24.09.2012 13:20, schrieb Stefan Frömken:
> Hallo zusammen,
>
> folgender Code hat lange seinen Dienst erfüllt:
>
> $tempLOCAL_LANG = t3lib_div::readLLfile($basePath,$lang);
>
> Seit TYPO3 4.6 erscheint in meinen Templates auf einmal "Array" statt
> der eigentliche Wert. Selbst mit der neuen Variante klappt es nicht:
>
> $xmlParser = t3lib_div::makeInstance('t3lib_l10n_parser_Llxml');
> $tempLOCAL_LANG = $xmlParser->getParsedData($basePath, $lang);
>
> Welche Methode muss ich verwenden, damit mir:
>
> $tempLOCAL_LANG['de']['key']
>
> wieder Texte zurück liefert?
>
> Stefan



More information about the TYPO3-german mailing list