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 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.
in Data 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
in Data at line 125
protected Web
getPrototype(ParameterMap $parameter)
Prototyp für ein Modell
In der Konfiguration der Route muss das Modell definiert sein.
in Data at line 144
protected string
getClassOfPrototype()
Klasse des Modells
in Data at line 179
protected Generic
createPrototypeValidateAndOperate(ParameterMap $parameter, Closure $operationCallback, ModelInstance $object = null)
Ausführen einer Operation mit vorheriger Prüfung
in Data at line 217
protected string
getMappedRedirectRoute(Alvine $object)
Route für Redirect berechnen
in Data 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.
in Data at line 329
protected string
getClassOfQuery()
Klasse des Modells
in Data at line 359
protected
createQueryInstance(FilterDocument $filter, integer $offset = 0, integer $count = 10, SimpleMap $orderBy = null)
Neue Instanz
in Data 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();
in Data at line 409
protected Dataset
injectLinks(Dataset $dataset)
Links in Dataset einfügen
in Data at line 438
protected $this
injectMeta(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Allegemeine Metadaten
in Data at line 451
protected Dataset
injectRelations(ModelInstance $model, ParameterMap $parameters, Dataset $dataset)
Relationen einfügen
in Data at line 523
protected ObjectMap
getRelationDefinition(ModelInstance $model)
Relationsdefinition holen
in Data 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)
in Data at line 598
Entity
updateRelations(ModelInstance $model, ParameterMap $parameters)
Relationen updaten
in Data 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.
in Data 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.
in Data at line 765
protected string
getViewForTheResponse(MIMEType $mimeType = null)
View für die Antwort aus Konfiguration ermitteln
at line 55
protected string
getDefaultViewClass(MIMEType $mimeType = null)
Standard-Klasse des Views für einen MimeType
at line 75
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 119
Presenter
head(ParameterMap $parameter)
Bearbeitung von HEAD-Anfragen
at line 130
protected Generic
validateAndWriteData(ParameterMap $parameter)
Daten prüfen und schreiben
at line 162
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 176
protected Generic
writeDatasetFromParameterMap(ParameterMap $parameter, string $classOfPrototype = null)
Einen Datensatz schreiben