Engine
class Engine extends Alvine
Die Template-Engine übersetzt Attribute Ausdrücke in Node-Strukturen. So können in eine statische HTML-Seite dynamiche Inhalte integriert werden.
<div data-replace="static:auto"></auto>
Constants
DEFAULTPREFIX |
Prefix für die Attribute |
Properties
protected Dataset | $dataset | ||
protected string | $attributeprefix | ||
protected array | $error | ||
protected boolean | $removeMarkup | ||
protected Element | $debugNode | ||
protected Locale | $locale | ||
protected CacheManager | $cacheManager | ||
protected array | $operations |
Methods
Neue Instanz erstellen
No description
No description
No description
Setzt den Prefix
CacheManager setzen
Standardmässig werden die Markups-Attribute entfernt. Über diese Methode kann das Verhalten geändert werden.
Diese Methode liefert die Einstellung der Engine in Bezug auf das Entfernen von Attributen zurück.
Aufgetretenen Fehler melden
Fehlermeldungen der Engine
Der Prefix, der in der HTML-Datei für die Markup-Operationen verwendet wird.
Verwendetes Dataset
Diese Methode holt über die Methode Engine::getNodes()
die Node-Struktur des Parameters und wendet
auf diese das gesetzte Dataset an. Die Node-Struktur wird dabei gecached (siehe Engine::getNodes()
).
Details
at line 93
__construct()
Neue Instanz erstellen
at line 105
array
getOperations()
at line 115
Engine
setOperations(array $operations)
at line 141
type
callOperator(array $arguments, type $value)
at line 187
Engine
setAttributePrefix(string $prefix)
Setzt den Prefix
Um Kollisionen mit anderen Attributen zu vermeiden, kann man statt des Standard-Attributes data- einen eigenen Prefix z.B. data-my- setzen.
at line 199
Engine
setCacheManager(CacheManager $manager)
CacheManager setzen
at line 214
Engine
removeMarkup(boolean $mode)
Standardmässig werden die Markups-Attribute entfernt. Über diese Methode kann das Verhalten geändert werden.
wird die removeMarkup auf false gesetzt bleiben die Attribute erhalten.
at line 226
boolean
shouldRemoveMarkup()
Diese Methode liefert die Einstellung der Engine in Bezug auf das Entfernen von Attributen zurück.
at line 237
Engine
raiseError(string $error)
Aufgetretenen Fehler melden
at line 247
array
getErrors()
Fehlermeldungen der Engine
at line 257
string
getAttributePrefix()
Der Prefix, der in der HTML-Datei für die Markup-Operationen verwendet wird.
at line 278
Dataset
getDataset()
Verwendetes Dataset
at line 293
protected Engine
processElement(Element $element)
Elemente bearbeiten
Hinweis Die Klassennamen der Operations dürfen nicht CamelCase sein, da diese sonst auf Unix-Systemen nicht gefunden werden.
at line 346
NodeList|null
getNodes(Fragment|Document|Node|string $html)
Diese Methode liefert je nach Typ des Parameters eine Liste mit Nodes oder eine Node zurück.
Im Fall eines Objektes vom Typ Document
, Fragment
oder bei einer Zeichenkette wird eine NodeList
zurückgegeben. In dem Fall in dem der Parameter vom Type Node
ist, wird auch nur eine Node
und keine
Nodelist zurückgegeben.
Zum Zwecke des Cachings wird der MD5 des Parameters md5((string)$html)
gebildet. Liegt im Cache bereits eine
Nodestruktur vor, so wird diese genommen und nicht eine neue Struktur aufgebaut. Diese Funktion benötigt einen
gesetzten Cachmanager.
at line 428
Node|Fragment
getProcessedNodes(Fragment|Document|Node|string $html)
Diese Methode holt über die Methode Engine::getNodes()
die Node-Struktur des Parameters und wendet
auf diese das gesetzte Dataset an. Die Node-Struktur wird dabei gecached (siehe Engine::getNodes()
).
Es findet kein gesondertes Caching des Ergebnisses wie bei Engine::getHTML()
statt. Soll das Ergebnis gecachet
werden, so muss dies zum Beispiel über folgende Struktur erfolgen.
``` $fullCached=null; try { $cacheObject=new \Alvine\Markup\Html\CacheObject((string) $html.(string) $dataset); $nodes=$cacheManager->getObjectByID($cacheObject->getID())->getPayload(); } catch(\Alvine\Persistence\ObjectNotFoundException $e) { $nodes=$engine->getProcessedNodes($html); $cacheObject->setPayload($nodes); $cacheManager->writeObject($cacheObject); }
at line 483
string
getHTML(Fragment|Document|Node|string $html)
HTML parsen und das Ergebnis als Zeichenkette zurückgeben. Diese Methode ruft Engine::getProcessedNodes() auf.
WICHTIG: Bei der Verwendung des Cachemanagers muss darauf geachtet werden, dass das Dataset keine veränderlichen Daten wie Session-ID oder Datumsangaben enthält! Diese Daten erlauben kein Caching.