Relation
class Relation extends Collection
Der Relationpresenter stellt die Beziehung eines Subjects mit den Objekten da.
Traits
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 |
CONTENTTYPEID_FORM |
Formular |
CONTENTTYPEID_MISC |
Nicht JSON oder Formular |
CONTENTTYPEID_JSON |
JSON TYP |
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 | |
protected Route | $updateRoute | from Entity |
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
Ausführen einer Operation mit vorheriger Prüfung
Query holen
Neue Instanz
Aktuelle Linkliste der übergebenen Route oder falls kein Wert übergeben wurde, der Route des Presenters $this->getRoute();
Allegemeine Metadaten
Relationen einfügen
Durch die Ergebnisse rennen
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.
View für die Antwort aus Konfiguration ermitteln
Standard-Klasse des Views für einen MimeType
No description
Einen Datensatz updaten
Objekt oder Prototypen holen
Bearbeitung von PATCH-Anfragen. Dieser Anfragentyp unterstützt ausschließlich die Mimetypes json und x-www-form-urlencoded.
Name des Index des Prototypen. Bei SQL kann dies ein anderer Wert sein, als die UUID
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.
in Data 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
in Data 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>
in UpdateDatasetFromParameterMap at line 40
abstract protected string
getClassOfPrototype()
Klasse des Modells
in Data at line 177
protected Generic
createPrototypeValidateAndOperate(ParameterMap $parameter, Closure $operationCallback, ModelInstance $object = null)
Ausführen einer Operation mit vorheriger Prüfung
in Data at line 215
protected string
getMappedRedirectRoute(Alvine $object)
Route für Redirect berechnen
at line 61
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. Über den Parameter reference muss die Referenz angegeben werden.
in Data at line 327
protected string
getClassOfQuery()
Klasse des Modells
in Data at line 357
protected
createQueryInstance(FilterDocument $filter, integer $offset = 0, integer $count = 10, SimpleMap $orderBy = null)
Neue Instanz
in Data 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();
in Data at line 407
protected Dataset
injectLinks(Dataset $dataset)
Links in Dataset einfügen
in Data at line 436
protected $this
injectMeta(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Allegemeine Metadaten
in Data at line 449
protected Dataset
injectRelations(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Relationen einfügen
in Data at line 521
protected ObjectMap
getRelationDefinition(ModelInstance $model)
Relationsdefinition holen
in Data 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)
in Data at line 596
Entity
updateRelations(ModelInstance $model, ParameterMap $parameters)
Relationen updaten
in Data 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.
in Data 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.
in Data at line 763
protected string
getViewForTheResponse(MIMEType $mimeType = null)
View für die Antwort aus Konfiguration ermitteln
at line 41
protected string
getDefaultViewClass(MIMEType $mimeType = null)
Standard-Klasse des Views für einen MimeType
in UpdateDatasetFromParameterMap at line 45
abstract protected
validateAndWriteData(ParameterMap $parameter, Alvine $prototype = null)
in UpdateDatasetFromParameterMap at line 55
protected Generic
updateDatasetFromParameterMap(ParameterMap $parameter, string $classOfPrototype = null)
Einen Datensatz updaten
in Entity at line 198
protected integer
getContentTypeID()
Inhaltstyp der Anfrage
in Entity at line 216
protected Model
getObjectByIDOrPrototype(ParameterMap $parameter)
Objekt oder Prototypen holen
in Entity at line 240
protected Model
getObjectByIDOrNull(ParameterMap $parameter, Alvine $prototype = null)
Objekt oder Prototypen holen
in Entity at line 318
protected Generic
validateAndPatchData(ParameterMap $parameter)
Daten prüfen und schreiben
in Entity at line 393
Presenter
patch(ParameterMap $parameter)
Bearbeitung von PATCH-Anfragen. Dieser Anfragentyp unterstützt ausschließlich die Mimetypes json und x-www-form-urlencoded.
in Entity at line 418
protected string
getIndexNameOfPrototype(ModelInstance $prototype)
Name des Index des Prototypen. Bei SQL kann dies ein anderer Wert sein, als die UUID
in Collection at line 55
Presenter
delete(ParameterMap $parameter)
Bearbeitung von mehreren DELETE-Anfragen