View
class View extends View
Der View für Webanwendungen erweitert den Standard-View mit alle für die Darstellung der Anwendungsdaten relevanten Methoden und Eigenschaften.
Je nach Angeforderten MediaType (MimeType) wird ein View erstellt, oder ein View mit StatusCode HTTP_UNSUPPORTED_MEDIA_TYPE (415) erstellt.
Mit Hilfe der Methode View::getDefaultInstance() kann ein Standard-View erstellt und zurückgeliefert werden. Dies ist dann sinnvoll, wenn man für bestimmte Abfragen noch keine Funktionalität implementiert hat, dem Anwender aber einen Hinweis geben möchte.
Wird in der Anwendungskonfiguration der Schlüssel application.web.i18n.showkeys gesetzt, so werden die i18n-Schlüssel eingeblendet.
Constants
LINK_PREFIX |
Vorsilbe für Linkplatzhalter |
LINK_URL_SUFFIX |
URL |
LINK_LABEL_SUFFIX |
Label |
LINK_ID_SUFFIX |
ID |
LINK_RELATION_SUFFIX |
Relation |
LINK_DELIMITER |
Trennzeichen |
Properties
protected Content | $content | ||
protected StatusCode | $statusCode | ||
protected SimpleMap | $header |
Methods
Neues View initialisieren
Inhalt
Statuscode setzen
Umleitung setzen
Seite nicht gefunden
Zugang nicht erlaubt
Zugriff auf die Header
StatusCode
Internationalisierung
Instanz aus einer Map erstellen
Pfad und Dateiname des Templates
Details
at line 104
__construct(Content $content)
Neues View initialisieren
at line 118
Content
getContent()
Inhalt
at line 131
View
setHttpStatusCode(StatusCode|integer $statuscode)
Statuscode setzen
at line 154
View
setLocation(URI $uri, boolean $permanent = true)
Umleitung setzen
Hinweis: Bei 302 ist das Ändern der Methode vom Client abhängig.
at line 173
View
setNotFound()
Seite nicht gefunden
Setzt den Status-Code 404
at line 184
View
setForbidden()
Zugang nicht erlaubt
Setzt den Status-Code 403
at line 193
ResponseHeader
getHeader()
Zugriff auf die Header
at line 202
StatusCode
getHttpStatusCode()
StatusCode
at line 234
static string
replaceI18N(string $content, Presenter $presenter, string $quoteCharList = null)
Internationalisierung
Die Platzhalter müssen mit i18n anfangen:
i18n{mykeytoreplace}
Die Eigenschaft muss dann mit dem Schlüssel angelegt werden:
mykeytoreplace=Text
In der Anwendungskonfiguration kann der Schlüssel application.web.i18n.showkeys auf true gesetzt werden.
Wird die Zeichenkette $quoteCharList übergeben, so werden alle Zeichen die darin enthalten sind mit einem Backslash versehen. Diese Funktion verwendet die PHP Version \addcslashes
at line 273
static protected Map
setLinksPlaceholder(Presenter $presenter, Map $map)
Link-Map initialisieren
Sind in der Route Links definiert, so stehen diese als Platzhalter
im Template zur Verfügung. Der Schlüssel der Links setzt sich aus
link-
at line 331
static protected View
getInstanceFromMap(Presenter $presenter, Map $map, ParameterMap $parameter = null)
Instanz aus einer Map erstellen
Template
Wird kein Template definiert, bzw ist dieses Leer wird nur ein leerer Platzhalter mit dem Namen content verwendet.
Über die Platzhalter template kann der Dateiname des Templates ohne Erweiterung (ohne .html) angegeben werden. Über den Schlüssel resourcepath kann der Pfad auf die Templates gesetzt werden.
Ist das Template nicht vorhanden, so wird ein HTTPError erstellt und der Inhalt zurückgegeben.
Links
Sind in der Route Links definiert, so stehen diese als Platzhalter
im Template zur Verfügung. Der Schlüssel der Links setzt sich aus
link-
Parameter
Die übergebenen Parameter stehen mit dem Schlüssel der Parameter zur Verfügung. Das ObjektMap muss eine Limitation auf \Alvine\Types\Parameter besitzen. Ansonsten werden die Parameter nicht ausgewertet.
Die Werte in den Parametern überschreiben die Werte in der Map. Wenn das nicht gewüscht ist, wird $parameter nicht übergeben.
at line 393
static protected File
getTemplateFileAndMimeType(Presenter $presenter, Map $map = null, ParameterMap $parameter = null)
Pfad und Dateiname des Templates
Im Parameter können die Werte template und resourcepath übergeben werden. Wird nichts übergeben werden die Defaultwerte default für das Template und als Pfad der in der Config definierte genommen.
Das Ergebnis muss noch mit $templateFile->exists() auf Exitenz geprüft erden.
Der Aufruf erfolgt folgendermaßen
list($templateFile, $mediaType, $originTemplateFileForLogging) = static::getTemplateFileAndMimeType($presenter, $map, $parameter);
at line 499
View
setHint(string $message)
Hinweistext im Header übertragen