Add
class Add extends Data
Add-Presenter für Modell-Klassen
Objekte dieser Klasse können das Formular für das Hinzufügen eines neuen Datensatzes bereitstellen (GET) und einen neuen Datensatz anlegen.
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 |
OBJECTIDKEY |
Konstante des Schlüssels |
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
Ausführen einer Operation mit vorheriger Prüfung
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
Bearbeitung von GET-Anfragen für die Ausgabe des Hinzufügen-Formulars. Diese Methode ist nur für den MIME-Type text/html sinnvoll.
Daten prüfen und schreiben
Einen Datensatz schreiben
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 Data at line 142
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
in Data 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.
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 53
protected string
getDefaultViewClass(MIMEType $mimeType = null)
Standard-Klasse des Views für einen MimeType
at line 73
Presenter
get(ParameterMap $parameter)
Bearbeitung von GET-Anfragen für die Ausgabe des Hinzufügen-Formulars. Diese Methode ist nur für den MIME-Type text/html sinnvoll.
Für JSON-Daten liefert diese Methode nur einen leeren Datensatz.
at line 117
Presenter
head(ParameterMap $parameter)
Bearbeitung von HEAD-Anfragen
at line 128
protected Generic
validateAndWriteData(ParameterMap $parameter)
Daten prüfen und schreiben
at line 160
Presenter
post(ParameterMap $parameter)
Bearbeitung von POST-Anfragen
Sind in der Route Links definiert und enthält diese Definition einen Link mit dem Namen redirect, so wird ein Location gesendet. Anderseits nur ein Created
at line 174
protected Generic
writeDatasetFromParameterMap(ParameterMap $parameter, string $classOfPrototype = null)
Einen Datensatz schreiben