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

  • Assembly
  • AssemblyNotFoundException
  • Component
  • ConfigurationException
  • Console
  • MissingViewException
  • Model
  • Presenter
  • TaskNotFoundException
  • View
  • Web

Interfaces

  • ModelFactory
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

Class Web

Implementierung einer Web-Anwendung

Diese Klasse kapselt alle Informationen und Methoden einer Webanwendung. Die Klasse ist abstrakt und muss von einer konkreten Anwendung überschrieben werden.

Alvine\Core\Alvine
Extended by Alvine\Application\Assembly
Extended by Alvine\Application\Web
Abstract
Namespace: Alvine\Application
Package: Alvine\Application
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision: 373 $
Since: 20130629
Link: alvine.io
Located at Web.class.php
Methods summary
protected
# __construct( string $path, integer $applicationMode = Alvine\Application\Assembly::APPLICATIONMODE_PRODUCTIVE, Alvine\Application\Configuration\Facility $facility = null )

Neues Anwendugs-Objekt erstellen.

Neues Anwendugs-Objekt erstellen.

Der Konstruktor erstellt ein neues Objekt und initialisiert die Systeminstanzen für Environment, Encoding, System und Math. Außerdem wird der Anwendung ein SystemLogger und ein Mailserver zugewiesen.

Parameters

$path
$applicationMode
$facility

Throws

Alvine\Application\ConfigurationException

Overrides

Alvine\Application\Assembly::__construct()
public
# __destruct( )

Anwendung beenden

Anwendung beenden

Overrides

Alvine\Application\Assembly::__destruct()
protected Alvine\Application\Web
# initLocaleFromHeader( array $localeArray )

Versuchen die Lokale über den Header zu setzen

Versuchen die Lokale über den Header zu setzen

Parameters

$localeArray

Returns

Alvine\Application\Web
protected Alvine\Application\Web
# initLocaleFromQuery( array $localeArray )

Versuchen die Lokale über den Request zu setzen

Versuchen die Lokale über den Request zu setzen

Parameters

$localeArray

Returns

Alvine\Application\Web
protected Alvine\Application\Web
# initLocaleFromRequest( array $localeArray, string $localeString )

Locale initialisieren

Locale initialisieren

Parameters

$localeArray
$localeString
Sprache

Returns

Alvine\Application\Web
protected Alvine\Application\Web
# initLocaleFromCookie( array $localeArray )

Versuchen die Lokale über ein Cookie zu setzen

Versuchen die Lokale über ein Cookie zu setzen

Parameters

$localeArray

Returns

Alvine\Application\Web
public Alvine\Application\Assembly
# initLocale( )

Lokale initialisieren

Lokale initialisieren

Die Lokale kommt aus dem Request. Wird keine passende Locale gefunden, so wird eine ConfigurationException geworfen.

In der Anwendungskonfiguration muss application.locale.languages definirt sein. Über den Schlüssel application.locale.language.requestkey kann ein Parameter definiert werden, der für die Sprache zuständig ist.

# kommagetrennte Liste mit den unterstützen Sprachen
application.locale.languages=de,de_CH,en

# Schlüssel für das Setzen der Lokale über einen Parameter
application.locale.language.parameterkey=language

Auswertereihenfolge: Query -> Cookie -> Header

Returns

Alvine\Application\Assembly
Dieses Objekt

Throws

Alvine\Application\ConfigurationException
protected Alvine\Application\Assembly
# initCacheExaminer( )

Instanzprüfung erweitern

Instanzprüfung erweitern

Die Webklasse überwacht im Standard zusätzlich zur Anwendungskonfiguration noch das routing-Verzeichnis.

Ist ein anderes Verhalten gewünscht, oder wird der Default-Router nicht verwendet, so muss diese Methode von der konkreten Klasse überschrieben werden.

Returns

Alvine\Application\Assembly
Dieses Objekt

Overrides

Alvine\Application\Assembly::initCacheExaminer()
protected Alvine\Application\Assembly
# setDirectories( Alvine\IO\File\Directory $directory )

Setzt den Basispfad und alle abgeleiteten Pfade

Setzt den Basispfad und alle abgeleiteten Pfade

Diese Methode initialisiert die Pfade für die Assets, die Classes, Config, Vendors, Ressources und Views.

Parameters

$directory
Basispfad der Anwendung

Returns

Alvine\Application\Assembly

Overrides

Alvine\Application\Assembly::setDirectories()
public Alvine\Application\Assembly
# setBaseURI( Alvine\Net\Resource\URI $uri )

Basis-URI der Webseite setzen

Basis-URI der Webseite setzen

Parameters

$uri

Returns

Alvine\Application\Assembly
public Alvine\Application\Web\Router|null
# getRouter( )

Router der Anwendung

Router der Anwendung

Vor dem Aufruf von getRouter muss Web::initRouter() aufgerufen werden. Web::initRouter() wird in der Regel von Web::init() aufgerufen.

Returns

Alvine\Application\Web\Router|null
null, wenn noch nicht initialisiert
protected Alvine\Application\Web
# initRouter( )

Router initialisieren

Router initialisieren

Returns

Alvine\Application\Web
Dieses Objekt

Throws

Alvine\Application\ConfigurationException
Kein Router definiert
public Alvine\Net\Http\Environment\Request
# getRequest( )

Request

Request

Rückgabe des von der PHP-Enging übergebenen Daten in Form eines Request-Objektes

Returns

Alvine\Net\Http\Environment\Request
Request
protected Alvine\Application\Web
# init( )

Initialisierung der Anwendung

Initialisierung der Anwendung

Diese Methode wird im Rahmen der Task-Bearbeitung (wenn nicht anders konfiguriert) aufgerufen und initialisiert die Anwendung

Returns

Alvine\Application\Web
Dieses Objekt

Overrides

Alvine\Application\Assembly::init()
public Alvine\Application\Web
# initRequest( )

Request initialisieren

Request initialisieren

Initialisieren eines Requests

Returns

Alvine\Application\Web
Dieses Objekt
protected Alvine\Security\Authentication\User
# validateIdentityAgainstAuthorities( string $username, string $password )

Überprüfen des Benutzernamens und des Passwortes

Überprüfen des Benutzernamens und des Passwortes

Parameters

$username
$password

Returns

Alvine\Security\Authentication\User
public Alvine\Security\Authentication\Identity|null
# getIdentityFromRequest( )

Identität aus Request ermitteln. Es wird nach den POST-Variablen username und password gesucht. Akternativ können diese in der Konfiguration mittels der Eigenschaften

Identität aus Request ermitteln. Es wird nach den POST-Variablen username und password gesucht. Akternativ können diese in der Konfiguration mittels der Eigenschaften

  • application.web.authentication.identity.key und
  • application.web.authentication.identity.password

überschrieben werden.

Returns

Alvine\Security\Authentication\Identity|null
protected Alvine\Application\Web
# authenticate( )

Diese Methode liest entweder aus der Session oder aus der POST-Variable username den Namen der angefragten Identität aus.

Diese Methode liest entweder aus der Session oder aus der POST-Variable username den Namen der angefragten Identität aus.

Der Schlüssel für die verwendete POST-Variable kann über die Konfigurationseinstellung application.web.authentication.identity.key definiert werden. Wurden keine Werte definiert, so wird username und password verwendet.

Wurde keine Identität angegeben, so wird ein Anonymous-Objekt vom Typ \Alvine\Security\Authentication\Anonymous inititalisiert.

Returns

Alvine\Application\Web
Dieses Objekt
public Alvine\Security\Authentication\Authority
# getAuthority( string $name )

Authority

Authority

Parameters

$name

Returns

Alvine\Security\Authentication\Authority
public Alvine\Types\Map\ObjectMap<'Alvine\Security\Authentication\Authority>
# getAuthorities( )

Authorities

Authorities

Returns

Alvine\Types\Map\ObjectMap<'Alvine\Security\Authentication\Authority>
public Alvine\Application\Web
# initAuthority( )

Autorität initialisieren

Autorität initialisieren

Konfigurationsvariable: application.web.authentication.authority

Hinweis: Die Identität der Anwendung wird nicht zwangsläufig in der Session gespeichert. Einfache GET-Request brauchen nur die Authorisation und nicht eine Session!

Returns

Alvine\Application\Web
Dieses Objekt

Throws

Alvine\Application\ConfigurationException
Keine Konfiguration gefunden
protected Alvine\Application\Web
# route( )

Diese Methode wird im Rahmen der Task-Bearbeitung (wenn nicht anders konfiguriert) aufgerufen und übergibt den Request an die im Routing definierten Presenter.

Diese Methode wird im Rahmen der Task-Bearbeitung (wenn nicht anders konfiguriert) aufgerufen und übergibt den Request an die im Routing definierten Presenter.

Wurde das Routing bereits durchgeführt, z.B. durch einen Authentifikationsfehler, so wird kein neues Routing gestartet.

Returns

Alvine\Application\Web
Dieses Objekt

Throws

Alvine\Application\Web\RouteNotFoundException
Wenn kein zutreffendes Routing gefunden wurde
public Alvine\Application\Web
# executeRoute( string $destination )

Ausführen eines Routings

Ausführen eines Routings

Parameters

$destination
Name der Route

Returns

Alvine\Application\Web
Dieses Objekte
protected Alvine\Application\Web
# finalize( )

Finalisierung

Finalisierung

Diese Methode wird im Rahmen der Task-Bearbeitung (wenn nicht anders konfiguriert) aufgerufen und schließt die Bearbeitung ab und übergibt alle notwendigen Daten zurück an die PHP-Engine

Returns

Alvine\Application\Web
Dieses Objekt

Overrides

Alvine\Application\Assembly::finalize()
public Alvine\Security\Authentication\Identity
# getIdentity( )

Identität der Anwendung

Identität der Anwendung

Hinweis: Die Identität der Anwendung wird nicht zwangsläufig in der Session gespeichert. Diese Zuweisung erfolgt zum Beispiel über den Authentication-Presenter.

Der Grund für diese gesonderte Zuweisung ist, das nicht jeder Request eine Session benötigt und bekommt. Ein einfacher Request kommt ohne Session aus und spart somit Resourcen.

Returns

Alvine\Security\Authentication\Identity
Identität
public Alvine\Application\Application
# setView( Alvine\Application\View $view )

Neues View setzen

Neues View setzen

Parameters

$view
View

Returns

Alvine\Application\Application
Dieses Objekt

Overrides

Alvine\Application\Assembly::setView()
public Alvine\IO\File\Directory
# getWebPath( )

Verzeichnis der Webdateien

Verzeichnis der Webdateien

Returns

Alvine\IO\File\Directory
Verzeichnis
public Alvine\IO\File\Directory
# getErrorPath( )

Verzeichnis der Fehlerdateien

Verzeichnis der Fehlerdateien

Returns

Alvine\IO\File\Directory
Verzeichnis
public Alvine\IO\File\Directory
# getJSPath( )

Verzeichnis fürJavascript

Verzeichnis fürJavascript

Returns

Alvine\IO\File\Directory
Verzeichnis
public Alvine\IO\File\Directory
# getThemePath( )

Verzeichnis der Themes

Verzeichnis der Themes

Returns

Alvine\IO\File\Directory
Verzeichnis
public Alvine\IO\File\Directory
# getVendorPath( )

Verzeichnis für Fremdanbieterdateien

Verzeichnis für Fremdanbieterdateien

Returns

Alvine\IO\File\Directory
Verzeichnis
public Alvine\IO\File\Directory
# getW3CPath( )

Verzeichnis mit P2P Datei

Verzeichnis mit P2P Datei

Returns

Alvine\IO\File\Directory
Verzeichnis
public Alvine\Net\Resource\URI
# getBaseURI( )

Basis-URI

Basis-URI

Returns

Alvine\Net\Resource\URI
URI
public boolean
# existsSession( )

Prüft ob im Request eine Session gesetzt ist.

Prüft ob im Request eine Session gesetzt ist.

Returns

boolean
true, wenn eine Session gesetzt ist.
public array<string,
# getSessionDefinition( )

Session Definition

Session Definition

Nur zur internen Verwendung in dieser Klasse Der Aufbau der Struktur kann sich jederzeit ändern.

Returns

array<string,
string, string, string> Definition einer Session (Name, Klasse, Domain, Pfad)
public Alvine\Net\Session\Session|null
# getSession( )

Session

Session

Returns

Alvine\Net\Session\Session|null
Session
public Alvine\Application\Web
# initSession( )

Lädt eine Session oder erstellt diese neu. Der Name der Klasse und der Name des Cookies, in dem die Session-ID gespeichert wird, kann über die Konfiguration gesteuert werden.

Lädt eine Session oder erstellt diese neu. Der Name der Klasse und der Name des Cookies, in dem die Session-ID gespeichert wird, kann über die Konfiguration gesteuert werden.

Werden keie Konfigurationswerte verwendet, so wird die Klasse \Alvine\Net\Session\Session, der Cookie-Name sid und eine Gültigkeit von einer Stunde verwendet.

Die Session wird aus dem in der Anwendung definierten Speicher abgelegt und aus diesem geladen. Ist keine Session verfügbar, so wird eine neue Session erstellt.

Returns

Alvine\Application\Web
Dieses Objekt
protected Alvine\Net\Session\Session
# loadSession( string $sessionClass, string $id )

Diese interne Methode wird von Web::initSession() aufgerufen und lädt eine Session aus dem gegebenen Storagesystem. Für andere Storagesysteme muss diese Methode überschrieben werden.

Diese interne Methode wird von Web::initSession() aufgerufen und lädt eine Session aus dem gegebenen Storagesystem. Für andere Storagesysteme muss diese Methode überschrieben werden.

Parameters

$sessionClass
$id

Returns

Alvine\Net\Session\Session

Throw

\Alvine\Persistence\ObjectNotFoundException
protected Alvine\Application\Web
# writeSession( )

Session schreiben. Für andere Storagesysteme muss diese Methode überschrieben werden.

Session schreiben. Für andere Storagesysteme muss diese Methode überschrieben werden.

Hinweis: Die Identität der Anwendung wird nicht zwangsläufig in der Session gespeichert. Diese Zuweisung muss gesondert erfolgen (zum Beispiel über den Authentifcator-Presenter).

Der Grund für diese gesonderte Zuweisung ist, das nicht jeder Request eine Session benötigt und nicht jede Session die Indentitäts-Informationen benötigt.

Returns

Alvine\Application\Web
Methods inherited from Alvine\Application\Assembly
deleteObject(), execute(), findObject(), getAssetPath(), getBasePath(), getCacheManager(), getClassPath(), getConfigPath(), getConfiguration(), getConfigurationValue(), getEventQueue(), getHashCode(), getInstance(), getLicensePath(), getLocale(), getLogPath(), getObject(), getPersistenceHandler(), getRepositoyPath(), getResourceFile(), getResourcePath(), getView(), handleTasks(), initEventQueues(), initLogger(), initPersistenceManager(), initSMTPClient(), initStorage(), initStorageIndex(), isApplicationMode(), isInstanceValide(), loadConfig(), refresh(), registerStorage(), replaceEnvironmentPlaceholder(), setApplicationMode(), subscribeEvent(), triggerEvent(), unregisterStorage(), unsubscribeEvent(), validateInstanceCache(), writeObject()
Constants inherited from Alvine\Application\Assembly
APPLICATIONMODE_DEBUG, APPLICATIONMODE_DEVELOPMENT, APPLICATIONMODE_PRODUCTIVE, APPLICATIONMODE_TESTING, DEFAULTSTORAGEHANDLER, DEFAULTSTORAGEINDEXHANDLER, UUID
Properties summary
protected Alvine\Net\Session\Session $session

Session

Session

# null
protected Alvine\IO\File\Directory $webPath

Dateien die per URL angesprochen werden

Dateien die per URL angesprochen werden

# null
protected Alvine\IO\File\Directory $errorPath

Fehlerdateien

Fehlerdateien

# null
protected Alvine\IO\File\Directory $jsPath

Javascriptdateien

Javascriptdateien

# null
protected Alvine\IO\File\Directory $themePath

Theme-Dateien

Theme-Dateien

# null
protected Alvine\IO\File\Directory $vendorPath

Externe Bibliotheken

Externe Bibliotheken

# null
protected Alvine\IO\File\Directory $w3cPath

Datenschutzdateien

Datenschutzdateien

# null
protected Alvine\Net\Resource\URI $baseURI

Basis-URL

Basis-URL

# null
protected Alvine\Net\Http\Request $request

Request

Request

# null
protected Alvine\Application\Web\Route $router

Router

Router

# null
protected Alvine\Security\Authentication\Identity $identity

Identität des Requests

Identität des Requests

# null
protected Alvine\Types\Map\ObjectMap<'Alvine\Security\Authentication\Authority> $authorities
# null
Properties inherited from Alvine\Application\Assembly
$applicationMode, $assetPath, $basePath, $cacheExaminer, $cacheManager, $classPath, $configPath, $configuration, $configurationName, $eventQueues, $facility, $instance, $licensePath, $locale, $logPath, $repositoyPath, $resourcePath, $storageManager, $view
alvine.application API-Dokumentation 1.1.1 | © schukai GmbH | Impressum