TYPO3 Autoload

Seit TYPO3 4.3 können Klassen automatisch beim Laden einer Extension eingebunden werden (z.B. rund um die Scheduler Tasks nützlich). Eigentlich kein Hexenwerk, aber als kleine Gedankenstütze trotzdem ein paar Zeilen Code und die Rahmenbedingungen:

ext_autoload.php:

<?php
$extensionPath = t3lib_extMgm::extPath('myext');
return array(
	'tx_myext_myclass' => $extensionPath .
		'Classes/class.tx_myext_myclass.php',
);
?>

Rahmenbedingungen

  • der Key muss immer kleingeschrieben sein, auch wenn die Klasse im CamelCase-Stil benamt ist
  • der Key muss mit tx_ (oder ux_) beginnen bzw. derart sein, dass mittels t3lib_extMgm::getExtensionKeyByPrefix($prefix) der Extension-Key ermittelbar ist ($prefix ist hierbei der Substring des Keys bis zum zweiten Unterstrich)
  • die Datei ext_autoload.php liegt im Hauptverzeichnis der Extension (neben ext_tables.sql usw.)
  • die Extension muss nur geladen werden, TYPO3 bzw. der Autoloader finden sich dann selbst zurecht

Anschaulicher erklärt das Ganze Christian in seinem Tagebuch

Quellen:

Eine Antwort to “TYPO3 Autoload”

  1. avatar

    Seit TYPO3 6.0 muss der Key nicht mehr kleingeschrieben werden.

    Gruss René

Schreibe einen Kommentar