Overview

Namespaces

  • Alvine
    • Application
      • Configuration
      • Console
        • Option
        • Terminal
          • VT100
      • Data
        • Generic
      • Resource
      • UI
      • Web
        • Model
          • Linkage
            • Relation
            • Structure
        • Presenter
          • Access
          • Data
          • Event
          • File
          • Page
            • Plugin
              • Authentication
              • Html
              • I18n
              • Navigation
              • UI
                • Wrapper
        • Route
          • Cache
          • Exception
          • Handler
        • View
          • Data
          • Definition
          • Intern
          • Json

Classes

  • DefaultRouter
  • Presenter
  • Route
  • RouteException
  • RouteNotFoundException
  • Router
  • View

Interfaces

  • Model
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

Class View

Der View für Webanwendungen erweitert den Standard-View mit alle für die Darstellung der Anwendungsdaten relevanten Methoden und Eigenschaften.

Je nach Angeforderten MediaType (MimeType) wird ein View erstellt, oder ein View mit StatusCode HTTP_UNSUPPORTED_MEDIA_TYPE (415) erstellt.

Mit Hilfe der Methode View::getDefaultInstance() kann ein Standard-View erstellt und zurückgeliefert werden. Dies ist dann sinnvoll, wenn man für bestimmte Abfragen noch keine Funktionalität implementiert hat, dem Anwender aber einen Hinweis geben möchte.

Wird in der Anwendungskonfiguration der Schlüssel application.web.i18n.showkeys gesetzt, so werden die i18n-Schlüssel eingeblendet.

Alvine\Core\Alvine
Extended by Alvine\Application\View
Extended by Alvine\Application\Web\View

Direct known subclasses

Alvine\Application\Web\View\Created, Alvine\Application\Web\View\Data, Alvine\Application\Web\View\Updated, Alvine\Application\Web\View\VoidView, Alvine\Application\Web\View\DefaultView, Alvine\Application\Web\View\Form, Alvine\Application\Web\View\HTTPError, Alvine\Application\Web\View\Intern\Error, Alvine\Application\Web\View\Json, Alvine\Application\Web\View\Location, Alvine\Application\Web\View\NoContent, Alvine\Application\Web\View\Page

Indirect known subclasses

Alvine\Application\Web\View\Data\Collection, Alvine\Application\Web\View\Data\Invalid, Alvine\Application\Web\View\Data\Object, Alvine\Application\Web\View\Data\Relation, Alvine\Application\Web\View\Json\Dataset
Namespace: Alvine\Application\Web
Package: Alvine\Application
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision: 269 $
Since: 20130608
Link: alvine.io
Located at web/View.class.php
Methods summary
public
# __construct( Alvine\Types\Mime\Content $content )

Neues View initialisieren

Neues View initialisieren

Parameters

$content
Inhalt
public Alvine\Types\Mime\Content
# getContent( )

Inhalt

Inhalt

Returns

Alvine\Types\Mime\Content
Inhalt
public Alvine\Application\Web\View
# setHttpStatusCode( Alvine\Application\Web\StatusCode|integer $statuscode )

Statuscode setzen

Statuscode setzen

Parameters

$statuscode
Statuscode

Returns

Alvine\Application\Web\View
Dieses Objekt

Throws

Alvine\Core\InvalidArgumentException
falsches Argument
public Alvine\Application\Web\View
# setLocation( Alvine\Net\Resource\URI $uri, boolean $permanent = true )

Umleitung setzen

Umleitung setzen

Hinweis: Bei 302 ist das Ändern der Methode vom Client abhängig.

Parameters

$uri
URI des neuen Ziels
$permanent
Permanet 301 oder temporär 302

Returns

Alvine\Application\Web\View
Dieses Objekt

Link

Details zur 302 Spezifikation
public Alvine\Application\Web\View
# setNotFound( )

Seite nicht gefunden

Seite nicht gefunden

Setzt den Status-Code 404

Returns

Alvine\Application\Web\View
Dieses Objekt
public Alvine\Application\Web\View
# setForbidden( )

Zugang nicht erlaubt

Zugang nicht erlaubt

Setzt den Status-Code 403

Returns

Alvine\Application\Web\View
Dieses Objekt
public Alvine\Net\Http\Environment\ResponseHeader
# getHeader( )

Zugriff auf die Header

Zugriff auf die Header

Returns

Alvine\Net\Http\Environment\ResponseHeader
public Alvine\Net\Http\StatusCode
# getHttpStatusCode( )

StatusCode

StatusCode

Returns

Alvine\Net\Http\StatusCode
StatusCode
public static string
# replaceI18N( string $content, Alvine\Application\Web\Presenter $presenter, string $quoteCharList = null )

Internationalisierung

Internationalisierung

Die Platzhalter müssen mit i18n anfangen:

i18n{mykeytoreplace}

Die Eigenschaft muss dann mit dem Schlüssel angelegt werden:

mykeytoreplace=Text

Ist der Anwendungsmodus APPLICATIONMODE_DEVELOPMENT und wird in der Anwendungskonfiguration der Schlüssel application.web.i18n.showkeys auf true gesetzt oder der Mode ist APPLICATIONMODE_DEBUG so werden die i18n-Schlüssel in den Rückgabewert mit data-i18n=key eingebunden.

Wird die Zeichenkette $quoteCharList übergeben, so werden alle Zeichen die darin enthalten sind mit einem Backslash versehen. Diese Funktion verwendet die PHP Version \addcslashes

Parameters

$content
Inhalt
$presenter
Presenter
$quoteCharList
Quote

Returns

string
protected static Alvine\Types\Map
# setLinksPlaceholder( Alvine\Application\Web\Presenter $presenter, Alvine\Types\Map $map )

Link-Map initialisieren

Link-Map initialisieren

Sind in der Route Links definiert, so stehen diese als Platzhalter im Template zur Verfügung. Der Schlüssel der Links setzt sich aus link---url bzw link---label

Parameters

$presenter
$map

Returns

Alvine\Types\Map
protected static Alvine\Application\Web\View
# getInstanceFromMap( Alvine\Application\Web\Presenter $presenter, Alvine\Types\Map $map, Alvine\Types\Map\ParameterMap $parameter = null )

Instanz aus einer Map erstellen

Instanz aus einer Map erstellen

Template

Wird kein Template definiert, bzw ist dieses Leer wird nur ein leerer Platzhalter mit dem Namen content verwendet.

Über die Platzhalter template kann der Dateiname des Templates ohne Erweiterung (ohne .html) angegeben werden. Über den Schlüssel resourcepath kann der Pfad auf die Templates gesetzt werden.

Ist das Template nicht vorhanden, so wird ein HTTPError erstellt und der Inhalt zurückgegeben.

Links

Sind in der Route Links definiert, so stehen diese als Platzhalter im Template zur Verfügung. Der Schlüssel der Links setzt sich aus link---url bzw link---label

Parameter

Die übergebenen Parameter stehen mit dem Schlüssel der Parameter zur Verfügung. Das ObjektMap muss eine Limitation auf \Alvine\Types\Parameter besitzen. Ansonsten werden die Parameter nicht ausgewertet.

Die Werte in den Parametern überschreiben die Werte in der Map. Wenn das nicht gewüscht ist, wird $parameter nicht übergeben.

Parameters

$presenter
Presenter für die Konfiguration
$map
Map mit Werten die im Template ersetzt werden sollen
$parameter
Parameter des Presenters

Returns

Alvine\Application\Web\View

Throw

\Alvine\Types\TypeException Falls die Objektmap ungleich null ist und nicht auf \Alvine\Types\Parameter eingeschränkt wurde
protected static array<\Alvine\IO\File\File
# getTemplateFileAndMimeType( Alvine\Application\Web\Presenter $presenter, Alvine\Types\Map $map = null, Alvine\Types\Map\ParameterMap $parameter = null )

Pfad und Dateiname des Templates

Pfad und Dateiname des Templates

Im Parameter können die Werte template und resourcepath übergeben werden. Wird nichts übergeben werden die Defaultwerte default für das Template und als Pfad der in der Config definierte genommen.

Das Ergebnis muss noch mit $templateFile->exists() auf Exitenz geprüft erden.

Der Aufruf erfolgt folgendermaßen

list($templateFile, $mediaType, $originTemplateFileForLogging) = static::getTemplateFileAndMimeType($presenter, $map, $parameter);

Parameters

$presenter
Presenter
$map
Werte
$parameter
Parameter

Returns

array<\Alvine\IO\File\File
$templateFile, \Alvine\Types\MediaType $mediaType, \Alvine\IO\File\File $templateFile $originTemplateFileForLogging> Array mit dem File-Objekt des Templates, dem MediaTyp des Requests und der ersten Suchstelle
Constants summary
string LINK_PREFIX

Vorsilbe für Linkplatzhalter

Vorsilbe für Linkplatzhalter

# 'link-'
string LINK_URL_SUFFIX

URL

URL

# '-url'
string LINK_LABEL_SUFFIX

Label

Label

# '-label'
string LINK_ID_SUFFIX

ID

ID

# '-id'
string LINK_RELATION_SUFFIX

Relation

Relation

# '-relation'
string LINK_DELIMITER

Trennzeichen

Trennzeichen

# '-'
Properties summary
protected Alvine\Types\Mime\Content $content

Inhalt

Inhalt

# null
protected Alvine\Net\Http\StatusCode $statusCode

HTTP-StatusCode

HTTP-StatusCode

# null
protected Alvine\Types\Map\SimpleMap $header

Headers

Headers

# null
alvine.application API-Dokumentation 1.1.1 | © schukai GmbH | Impressum