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 178
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 496
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 86
protected DefaultPresenter
initResourceText(string $resource = null, Directory $basepath = null)
Ressourcentexte initialisieren
Die Locale wird aus der Anwendung geholt
in Presenter at line 139
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 203
Request
getRequest()
Request
in Presenter at line 235
View
getViewFromRouteID(string $routeID, ParameterMap $parameter)
Diese Methode holt einen View der mit einer Route verbunden ist.
in Presenter at line 284
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 331
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 376
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 392
protected Presenter
initErrorView(StatusCode $statusCode, MIMEType $mimetype = null, Dataset $response = null, string $message = null)
deprecated
deprecated
Fehler-View setzen
at line 125
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 144
protected string
getClassOfPrototype()
Klasse des Modells
at line 179
protected Generic
createPrototypeValidateAndOperate(ParameterMap $parameter, Closure $operationCallback, ModelInstance $object = null)
Ausführen einer Operation mit vorheriger Prüfung
at line 217
protected string
getMappedRedirectRoute(Alvine $object)
Route für Redirect berechnen
at line 240
protected Route
getRedirectRoute()
Redirect-Route holen
at line 285
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 329
protected string
getClassOfQuery()
Klasse des Modells
at line 359
protected
createQueryInstance(FilterDocument $filter, integer $offset = 0, integer $count = 10, SimpleMap $orderBy = null)
Neue Instanz
at line 373
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 409
protected Dataset
injectLinks(Dataset $dataset)
Links in Dataset einfügen
at line 438
protected $this
injectMeta(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Allegemeine Metadaten
at line 451
protected Dataset
injectRelations(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Relationen einfügen
at line 523
protected ObjectMap
getRelationDefinition(ModelInstance $model)
Relationsdefinition holen
at line 542
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 598
Entity
updateRelations(ModelInstance $model, ParameterMap $parameters)
Relationen updaten
at line 657
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 719
protected Data
writeObject(Alvine $object)
Objekt schreiben
at line 740
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 751
protected Data
deleteObject(Alvine $object)
Objekt löschen
at line 765
protected string
getViewForTheResponse(MIMEType $mimeType = null)
View für die Antwort aus Konfiguration ermitteln
at line 807
abstract protected string
getDefaultViewClass(MIMEType $mimeType = null)
Standard-Klasse des Views für einen MimeType