Typo3 autoload-Cache leeren bei Klick auf Typo3-Blitz und „alle Caches leeren“

Während der Entwicklung von Typo3-Extensions ändert, erstellt und erweitert man häufig Klassen in seinem eigenen Namespace. Durch das (sinnvolle) Typo3-Caching werden diese Klassennamen und Pfade in einer PHP-Datei gecached (typo3conf/autoload/autoload_classmap.php).

Leider greift der Klick auf den „Typo3 Blitz“ mit der Option „Alle Caches leeren“ nicht, um auch diese Dateien neu aufzubauen. Typo3 zwingt den Entwickler ins Install-Tool und dort zu der Option „Create autoload information for extensions“. Dieser Wechsel ist relativ nervig – und eine klassische Frustrations-Quelle, wenn im Frontend mal wieder das „striped Zebra of death“ mit einem Fatal Error erscheint.

Mit wenigen Zeilen Script bekommt man das Löschen der autoload-Datei auch über den Typo3 „Cache leeren“ Blitz im Backend gelöst:

In die Datei ext_localconf.php der eigenen Extension einen Hook registrieren, der beim Aufruf des „Cache leeren“ ausgeführt wird:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'][] = 'Deine\Extension\Hooks\ClearCacheHook->clearAutoloadCache';

Die Datei Classes/Hooks/ClearCacheHook.php anlegen mit diesem Code:

<php
namespace Deine\Extension\Hooks;

use TYPO3\CMS\Core\Core\ClassLoadingInformation;

class ClearCacheHook {

    /**
     * Löscht die autoload-Dateien, wenn der Typo3-Blitz
     * geklickt wird.
     *     
     * @param array $params
     */
   public function clearAutoloadCache ( array $params ) {
      ClassLoadingInformation::dumpClassLoadingInformation();
   }
   
}

Und dann? Naja… dann eben (leider) noch ein Mal – zum letzten Mal – im Install-Tool den „dump autoload“ machen.

Für Suchmaschinen: rebuild typo3 autoload cache using typo3 lightning-Button. Typo3 Cache für Klassen-Namen per Klick auf Typo3-Blitz löschen. Über Typo3 „Alle caches leeren“ auch autoload-Datei neu aufbauen. Autoload-Dateien werden nicht gelöscht, wenn Cache geleert wird. Wie autoload-Datei in Typo3 neu aufbauen. Eigene Classes in Typo3 registrieren. Register custom php Classes in Typo3. Extension classes are not loaded after clearing cache.