Data
abstract class Data extends Presenter
Default-Presenter für abgeleitete Klassen
Diese Spezialklasse bildet die Grundlage aller präsenter für Alvine-Anwendungen und regelt die Abfolge der einzelnen Befehle.
Constants
PARAMETER_COUNT |
Anzahl |
PARAMETER_PAGE |
Seite |
PARAMETER_OFFSET |
Offset / Start |
PARAMETER_ORDERBY |
Sortierung |
PARAMETER_TEMPLATE |
Vorlage |
PARAMETER_RESOURCEPATH |
Ressource |
PARAMETER_REDIRECT |
Redirect |
PARAMETER_PATCH_KEY |
Key für Patch |
PARAMETER_PATCH_NAME |
Name für Patch |
PARAMETER_PATCH_VALUE |
Wert für Patch |
PARAMETER_WHATIF |
Vorschaumodus für Änderungen |
KEY_COLLECTION |
Schlüsselwort für Multieintragungen |
PARAMETER_INJECTLINKS |
Schlüsselwort für Multieintragungen |
Properties
protected View | $view | from Presenter | |
protected Assembly | $assembly | from Presenter | |
protected boolean | $initApplicationView | from Presenter | |
protected Route | $route | from Presenter | |
protected PropertyText | $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
Prototyp für ein Modell
Klasse des Modells
Ausführen einer Operation mit vorheriger Prüfung
Route für Redirect berechnen
Redirect-Route holen
Query holen
Klasse des Modells
Neue Instanz
Aktuelle Linkliste der übergebenen Route oder falls kein Wert übergeben wurde, der Route des Presenters $this->getRoute();
Links in Dataset einfügen
Allegemeine Metadaten
Relationen einfügen
Relationsdefinition holen
Durch die Ergebnisse rennen
Relationen updaten
Validieren des Modells gegen die eigenen Regeln und das Ergebnis zurückgeben. Ist die Prüfung nicht valide, so wird ein ErrorView gesetzt und false zurückgegeben.
Objekt schreiben
Nach einem Objekt suchen
Objekt löschen
View für die Antwort aus Konfiguration ermitteln
Standard-Klasse des Views für einen MimeType
Details
in Presenter at line 176
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 119
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 494
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 84
protected DefaultPresenter
initResourceText(string $resource = null, Directory $basepath = null)
Ressourcentexte initialisieren
Die Locale wird aus der Anwendung geholt
in Presenter at line 137
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 205
Request
getRequest()
Request
in Presenter at line 237
View
getViewFromRouteID(string $routeID, ParameterMap $parameter)
Diese Methode holt einen View der mit einer Route verbunden ist.
in Presenter at line 286
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 333
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 378
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 394
protected Presenter
initErrorView(StatusCode $statusCode, MIMEType $mimetype = null, Dataset $response = null, string $message = null)
deprecated
deprecated
Fehler-View setzen
at line 123
protected Web
getPrototype(ParameterMap $parameter)
Prototyp für ein Modell
In der Konfiguration der Route muss das Modell definiert sein.
<configuration>
<model>
<class>%{model}</class>;
</model>;
</configuration>
at line 142
protected string
getClassOfPrototype()
Klasse des Modells
at line 177
protected Generic
createPrototypeValidateAndOperate(ParameterMap $parameter, Closure $operationCallback, ModelInstance $object = null)
Ausführen einer Operation mit vorheriger Prüfung
at line 215
protected string
getMappedRedirectRoute(Alvine $object)
Route für Redirect berechnen
at line 238
protected Route
getRedirectRoute()
Redirect-Route holen
at line 283
protected Query
getQuery(ModelInstance $model, ParameterMap $parameter)
Query holen
Im Parameter können die Parameter offset (oder page) und count definiert sein. Über den Parameter orderby wird die Sortierung definiert.
at line 327
protected string
getClassOfQuery()
Klasse des Modells
at line 357
protected
createQueryInstance(FilterDocument $filter, integer $offset = 0, integer $count = 10, SimpleMap $orderBy = null)
Neue Instanz
at line 371
protected Map
getRouteLinks(Route $route = null)
Aktuelle Linkliste der übergebenen Route oder falls kein Wert übergeben wurde, der Route des Presenters $this->getRoute();
at line 407
protected Dataset
injectLinks(Dataset $dataset)
Links in Dataset einfügen
at line 436
protected $this
injectMeta(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Allegemeine Metadaten
at line 449
protected Dataset
injectRelations(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Relationen einfügen
at line 521
protected ObjectMap
getRelationDefinition(ModelInstance $model)
Relationsdefinition holen
at line 540
protected Data
runThroughRelations(ModelInstance $model, ParameterMap $parameters, Closure $closure)
Durch die Ergebnisse rennen
Der Aufruf des Closures erfolgt mit den Parametern: ($fieldName, $model, $result, $relation, $newValues)
at line 596
Entity
updateRelations(ModelInstance $model, ParameterMap $parameters)
Relationen updaten
at line 655
protected boolean
isInvalidSetErrorViewAndReturnState(ModelInstance $object, ParameterMap $parameter)
Validieren des Modells gegen die eigenen Regeln und das Ergebnis zurückgeben. Ist die Prüfung nicht valide, so wird ein ErrorView gesetzt und false zurückgegeben.
at line 717
protected Data
writeObject(Alvine $object)
Objekt schreiben
at line 738
Subset
findObject(string $className, Query $query)
Nach einem Objekt suchen
Die Suche erfolgt in dem in der Konfiguration definierten Indexer. Der Indexer gibt eine Ergebnismenge zurück. Diese Methode holt sich die ID des Ergebnisses und verwendet die Methode getObject um das echte Objekt zu laden.
at line 749
protected Data
deleteObject(Alvine $object)
Objekt löschen
at line 763
protected string
getViewForTheResponse(MIMEType $mimeType = null)
View für die Antwort aus Konfiguration ermitteln
at line 805
abstract protected string
getDefaultViewClass(MIMEType $mimeType = null)
Standard-Klasse des Views für einen MimeType