[TYPO3-german] Autoloader für pibased Extension
Peter Linzenkirchner
liste at lisardo.de
Fri May 8 21:06:56 CEST 2015
Hallo liebe Liste,
ich versuche gerade einige pi_based Extensions auf TYPO3 6.2 hochzuziehen. Dabei stolpere ich über folgende Konstruktion:
in einer Extension (ah_members) wird eine Klasse einer anderen Extension (ah_lib) geladen:
if( t3lib_extMgm::isLoaded(‚ah_lib', 0)) {
include_once(t3lib_extMgm::extPath(‚ah_lib').'lib/class.tx_ahlib.php');
$this->ahLib = t3lib_div::makeInstance('tx_ahlib');
}
das include_once funtkioniert ja nicht mehr und muss durch einen autoloader ersetzt werden. Ich habe also eine Datei ext_autoload.php erstellt im Verzeichnis der Ext ah_members:
/typo3conf/ext/ah_members/ext_autoload.php
mit dem Inhalt:
$src = t3lib_extMgm::extPath('ah_lib').'lib/class.tx_ahlib.php';
return array(
'tx_ahlib_tx_ahlib' => $src
);
wobei ah_lib die Extension ist, die Klassendatei class.tx_ahlib.php heisst und die Klasse tx_ahlib - einfach aus dem include-Befehl übertragen. Müsste soweit ja stimmen. Problem ist der String im Array: wie wird der zusammengesetzt?
'tx_myext_myclass‘ würde doch zu 'tx_ahlib_tx_ahlib‘ oder?
Funktioniert aber nicht …
wenn ich den Code in ah_members so ändere:
if( t3lib_extMgm::isLoaded('ah_lib', 0)) {
$this->ahLib = t3lib_div::makeInstance('tx_ahlib');
}
bekomme ich den Fehler, dass die Klasse tx_ahlib fehlt.
Kann mir jemand auf die Sprünge helfen?
Wie muss sich dieser String zusammensetzen?
Stimmt mein Ansatz überhaupt, in ah_members zu versuchen über eine ext_autoload eine Klasse aus einer anderen Extension zu laden? Oder habe ich hier einen generellen Denkfehler drin?
Danke
Peter
--
Xing: http://www.xing.com/profile/Peter_Linzenkirchner
Web: http://www.typo3-lisardo.de
Facebook: http://tinyurl.com/lisardo-multimedia
More information about the TYPO3-german
mailing list