Cache¶
\nn\t3::Cache()¶
Methoden, zum Lesen und Schreiben in den Typo3 Cache.
Nutzt das Caching-Framework von Typo3, siehe EXT:nnhelpers/ext_localconf.php
für Details
Overview of Methods¶
\nn\t3::Cache()->clear();¶
Löscht alle nnhelpers
-Caches:
RAM-Caches
CachingFramework-Caches, die per \nn\t3::Cache()->set()
gesetzt wurde
Datei-Caches, die per \nn\t3::Cache()->write()
gesetzt wurde
\nn\t3::Cache()->clear();
@return void
\nn\t3::Cache()->clearPageCache($pid = NULL
);¶
Löscht den Seiten-Cache. Alias zu \nn\t3::Page()->clearCache()
\nn\t3::Cache()->clearPageCache( 17 ); // Seiten-Cache für pid=17 löschen
\nn\t3::Cache()->clearPageCache(); // Cache ALLER Seiten löschen
@param mixed $pid
pid der Seite, deren Cache gelöscht werden soll oder leer lassen für alle Seite@return void
\nn\t3::Cache()->get($identifier = '', $useRamCache = false
);¶
Lädt Inhalt des Typo3-Caches anhand eines Identifiers. Der Identifier ist ein beliebiger String oder ein Array, der den Cache eindeutif Identifiziert.
\nn\t3::Cache()->get('myid');
\nn\t3::Cache()->get(['pid'=>1, 'uid'=>'7']);
\nn\t3::Cache()->get(['func'=>__METHOD__, 'uid'=>'17']);
\nn\t3::Cache()->get([__METHOD__=>$this->request->getArguments()]);
@param mixed $identifier
String oder Array zum Identifizieren des Cache@param mixed $useRamCache
temporärer Cache in $GLOBALS statt Caching-Framework@return mixed
\nn\t3::Cache()->getIdentifier($identifier = NULL
);¶
Wandelt übergebenen Cache-Identifier in brauchbaren String um. Kann auch ein Array als Identifier verarbeiten.
@param mixed $indentifier
@return string
\nn\t3::Cache()->read($identifier
);¶
Statischen Datei-Cache lesen.
Liest die PHP-Datei, die per \nn\t3::Cache()->write()
geschrieben wurde.
$cache = \nn\t3::Cache()->read( $identifier );
Die PHP-Datei ist ein ausführbares PHP-Script mit dem return
-Befehl.
Sie speichert den Cache-Inhalt in einem Array.
<?php
return ['_'=>...];
@return string|array
\nn\t3::Cache()->set($identifier = '', $data = NULL, $useRamCache = false
);¶
Schreibt einen Eintrag in den Typo3-Cache. Der Identifier ist ein beliebiger String oder ein Array, der den Cache eindeutif Identifiziert.
// Klassische Anwendung im Controller: Cache holen und setzen
if ($cache = \nn\t3::Cache()->get('myid')) return $cache;
...
$cache = $this->view->render();
return \nn\t3::Cache()->set('myid', $cache);
// RAM-Cache verwenden? TRUE als dritter Parameter setzen
\nn\t3::Cache()->set('myid', $dataToCache, true);
// Dauer des Cache auf 60 Minuten festlegen
\nn\t3::Cache()->set('myid', $dataToCache, 3600);
// Als key kann auch ein Array angegeben werden
\nn\t3::Cache()->set(['pid'=>1, 'uid'=>'7'], $html);
@param mixed $indentifier
String oder Array zum Identifizieren des Cache@param mixed $data
Daten, die in den Cache geschrieben werden sollen. (String oder Array)@param mixed $useRamCache
true
: temporärer Cache in $GLOBALS statt Caching-Framework.integer
: Wie viele Sekunden cachen?@return mixed
\nn\t3::Cache()->write($identifier, $cache
);¶
Statischen Datei-Cache schreiben.
Schreibt eine PHP-Datei, die per $cache = require('...')
geladen werden kann.
Angelehnt an viele Core-Funktionen und Extensions (z.B. mask), die statische PHP-Dateien ins Filesystem legen, um performancelastige Prozesse wie Klassenpfade, Annotation-Parsing etc. besser zu cachen. Nutzt bewußt nicht die Core-Funktionen, um jeglichen Overhead zu vermeiden und größtmögliche Kompatibilität bei Core-Updates zu gewährleisten.
$cache = ['a'=>1, 'b'=>2];
$identifier = 'myid';
\nn\t3::Cache()->write( $identifier, $cache );
$read = \nn\t3::Cache()->read( $identifier );
Das Beispiel oben generiert eine PHP-Datei mit diesem Inhalt:
<?php
return ['_' => ['a'=>1, 'b'=>2]];
@return string|array