Page
class Page extends Presenter
Der Page-Presenter bildet eine Webseite mit mehreren Elementen ab. Dazu werden unterschiedliche Komponenten eingebunden und in einer HTML-Datei integriert.
Über die Parameter oder die Konfiguration müssen folgende Werte definiert werden
template Name des Templates im Ressourcen-Verzeichnis
Konfiguration
In der Route könne verschiedene Inhalte über die Konfiguration eingebunden werden.
Container
Über Container können unterschiedliche Inhalte in die Seite integriert werden.
]]>
content Dieser Tag definiert einen Inhalt der direkt in den Platzhalter geschrieben wird. route Bei der Route wird die Route mit der entsprechenden ID aufgerufen. Mittels Parameter können die verwendeten Platzhalter in der URL definiert werden. object Mit Hilfe des Objektes können Daten die in dr Datenbank enthalten sind direkt integriert werden plugin Das Plugin erlaubt es Inhalte von Klassen direkt einzubinden, ohne den Umweg über einen Presenter zu gehen.
Rewrite von Inhalten
Über die Rewrite-Anweisung können Inhalte (zum Beispiel URL) umgeschrieben werden. Dabei muss das Pattern und die Ersetzung angegeben werden. Die Methode verwendet preg_replace. Die beiden Parameter werden der Methode direkt übergeben.
pattern ist das Muster target ist die Ersetzung
Modelldaten
Über die Model-Konfiguration können Werte direkt in das Model geschrieben werden. Dies ist zum Beispiel dann sinnvoll, wenn statische Werte im Template gesetzt werden sollen
Links
Properties
protected View | $view | from Presenter | |
protected Assembly | $assembly | from Presenter | |
protected boolean | $initApplicationView | from Presenter | |
protected Route | $route | from Presenter | |
protected MessageArgumentFormatter | $resourceText | from Presenter |
Methods
Diese Methode definiert welche Parameter im Presenter zur Verfügung stehen sollen.
Ressourcentexte initialisieren
Lokalisierten Text holen
Diese Methode holt einen View der mit einer Route verbunden ist.
Diese Methode führt eine Route aus und gibt den Ergebnisview zurück. Ist in der Anwendung kein View definiert Assembly::getView() liefert null, so setzt diese Methode eine View vom Typ HTTPError
Diese Methode prüft in der Konfiguration der route, ob bestimmte
Ausgabetypen erlaubt sind. Gegen diese wird das Ergebnis des Aufrufs
von getResponseMediaType()
geprüft.
Fehler-View setzen
Inhalt von einem Plugin einlesen
Inhalt von extern einlesen
Objekt einlesen und als String ausgeben
Inhalt aus dem Tag auslesen und einfügen
Inhalt aus einer Datei aus dem Dateisystem einlesen
Inhalt einer Route einlesen und zurückgeben
Details
in Presenter at line 172
Presenter
execute(ParameterMap $parameter)
Nicht definierte Methode ausführen
Diese Methode erstellt die Antwort auf nicht definierte Methoden aufrufe und gibt einen 501 (Method Not Implemented) zurück.
in Presenter at line 121
protected Presenter
initView(View $view)
View setzen
View setzen und das View auch an die Anwendung weiterreichen. Ist self::initApplicationView gleich true so wird die Methode Assembly::initView aufgerufen und der Anwendungsview gesetzt.
at line 397
ParameterMap
getExecuteParameter(Route $routeObj, ParameterMap $parameter, string $method, URI $route)
Diese Methode definiert welche Parameter im Presenter zur Verfügung stehen sollen.
in Presenter at line 80
protected DefaultPresenter
initResourceText(string $resource = null, Directory $basepath = null)
Ressourcentexte initialisieren
Die Locale wird aus der Anwendung geholt
in Presenter at line 133
string
getText(string $text, string $default = null, string $pluralKey = null)
Lokalisierten Text holen
Beispiele wenn der Schlüssel nicht gefunden wird:
// Lokalisierung mit Default-Wert
Presenter::getText('my.key::name=Hans', 'Hallo!');
-> Hallo!
// Wird kein Default übergeben wird der Schlüssel ausgegeben Presenter::getText('my.key::name=Hans'); -> my.key::name=Hans
in Presenter at line 197
Request
getRequest()
Request
in Presenter at line 229
View
getViewFromRouteID(string $routeID, ParameterMap $parameter)
Diese Methode holt einen View der mit einer Route verbunden ist.
in Presenter at line 278
View
getViewFromRoute(string $route)
Diese Methode führt eine Route aus und gibt den Ergebnisview zurück. Ist in der Anwendung kein View definiert Assembly::getView() liefert null, so setzt diese Methode eine View vom Typ HTTPError
in Presenter at line 325
protected MIMEType
getMediaTypeOrNullForTheResponse(array $allowdMimeTypes = null)
Diese Methode prüft in der Konfiguration der route, ob bestimmte
Ausgabetypen erlaubt sind. Gegen diese wird das Ergebnis des Aufrufs
von getResponseMediaType()
geprüft.
Falls kein Parameter übergeben wird, aber eine Route hinterlegt ist, so wird aus der Konfiguration der Route foklgender Block ausgelesen
<configuration>
<!-- erlaubte Mimetypes -->
<mimetypes> <!-- Erlaubte Mimetypes: json -->
<allowed>application/xml</allowed>
</mimetypes>
</configuration>
in Presenter at line 370
MediaType
getResponseMediaType()
deprecated
deprecated
Medientyp für die Rückgabe ermitteln
Versteht der Client HTML, so wird HTML zurückgegeben, ansosten wird auf JSON oder XML geprüft. Unterstützt der Client keine Codierung wird text/html angenommen.
in Presenter at line 386
protected Presenter
initErrorView(StatusCode $statusCode, MIMEType $mimetype = null, Dataset $response = null, string $message = null)
deprecated
deprecated
Fehler-View setzen
at line 132
protected string
getContentFromPlugin(Node $source, ParameterMap $parameter)
Inhalt von einem Plugin einlesen
at line 151
protected string
getContentFromExtern(Node $source, ParameterMap $parameter)
Inhalt von extern einlesen
at line 175
protected string
getContentFromObject(Node $source, ParameterMap $parameter)
Objekt einlesen und als String ausgeben
at line 195
protected string
getContentFromContent(Node $source, ParameterMap $parameter)
Inhalt aus dem Tag auslesen und einfügen
at line 216
protected string
getContentFromFile(Node $source, ParameterMap $parameter)
Inhalt aus einer Datei aus dem Dateisystem einlesen
Mit path wird das Verzeichnis und mit name die Datei definiert. Wird kein Pfad angegeben, so wird das Resourcen-Verzeichnis genommen.
at line 247
protected string
getContentFromRoute(Node $source, ParameterMap $parameter)
Inhalt einer Route einlesen und zurückgeben
at line 289
Presenter
head(ParameterMap $parameter)
Bearbeitung von Head-Anfragen
at line 300
Presenter
get(ParameterMap $parameter)
Bearbeitung von GET-Anfragen