Zum Inhalt springen

"Globale Funktion" ähnlich t3lib_div für eigene Extensions?

Erstellt am 28. Februar 2012 · 2 Antworten · letzte Antwort am 1. März 2012

Tags: PHP, Frage

zappzarapp ·

Hallo,

ich habe mehrere Extensions die an einigen stellen die selbe Funktion benötigen (im konkreten Fall einen Avatar eines Users generieren/auslesen) und mag das natürlich so, dass ich diese Funktion nur an einer Stelle im ganzen System habe. Ich bräuchte also eine eigene Funktion die ich so ähnlich wie auch t3lib_div::_GET() aufrufen kann.
Also zB "meineEigeneKlasse::getAvatar($userId);"

Wie realisiere ich das am besten?

lg Matthias

zappzarapp ·

Geschafft :-)

<?php
require_once(PATH_tslib.'class.tslib_pibase.php');

class user_myext_div extends tslib_pibase {
	static function getAvatar($uid,$filePrefix) {
		$cObj = t3lib_div::makeInstance('tslib_cObj');
		return "avatar"
	}
}

Da man $this->cObj in der statischen Methode nicht verwenden kann erzeuge ich ein eigenes cObj.

Dann einfach wo man es braucht:

require_once(t3lib_extMgm :: extPath('user_kathext').'pi1/class.user_kathext_div.php');

Schon kann ich die Methode verwenden:

$image = user_kathext_div::getAvatar($uid,'profile');

An die Extension-Konfiguration (für Bildsettings etc.) kommt man auch einfach mit:

$conf = $GLOBALS['TSFE']->tmpl->setup['plugin.']['user_myext_pi1.'];

Liebe Grüße
Matthias