abstract class Parser extends Alvine

Diese Klasse bestimmt anhand der Dateierweiterung einen konkreten Parser und übergibt diesem den Router, damit die eingelesenen Daten eingetragen werden können.

Das Ergebnis ist ein inititalisierter Router.

Constants

SUBDIR

Properties

protected File $file
protected Directory $parsedRouteDirectory
protected Collection $router

Methods

__construct(Collection $router, File $file)

RouteParser erstellen

static Directory
getParsedRoutePath()

Standardpfad in dem die erstellten Routen abgelegt werden.

$this
clear()

No description

update()

Routingtabelle einlesen und verarbeiten

static Parser
getParser(Collection $router, File $file)

Parser bestimmen

static Route
createRoute(string $method, string $pattern, string $presenter, string $id, string $class = null)

Route erstellen

File
writeParsedStructure(string $source, string $extension = null)

No description

Details

at line 73
protected __construct(Collection $router, File $file)

RouteParser erstellen

Anhand der Dateierweiterung wird ein Router bestimmt und die übergebene Datei geparsed.

Parameters

Collection $router Router oder andere Routensammlung
File $file Routing-Datei

at line 89
static Directory getParsedRoutePath()

Standardpfad in dem die erstellten Routen abgelegt werden.

Return Value

Directory

at line 97
$this clear()

Return Value

$this

at line 111
abstract Router update()

Routingtabelle einlesen und verarbeiten

Return Value

Router Das Router-Objekt

Exceptions

ParseException Eintrag kann nicht gelesen werden
ClassNotFoundException Es wurde ein unbekannter Presenter definiert.

at line 128
static Parser getParser(Collection $router, File $file)

Parser bestimmen

An der Dateierweiterung wird die Parser-Klasse bestimmt. Die Route test.xml wird durch den XmlParser verarbeitet.

Parameters

Collection $router Router
File $file Name der Routing-Datei

Return Value

Parser Der zu verwendende Parser

Exceptions

RouteException Wenn kein Parser gefunden wurde

at line 158
static protected Route createRoute(string $method, string $pattern, string $presenter, string $id, string $class = null)

Route erstellen

Parameters

string $method HTTP-Verb (GET,POST,....)
string $pattern URL-Muster
string $presenter Name der Presenter-Klasse
string $id ID der Route
string $class Name der Klasse (Standard \Alvine\Application\Web\Route)

Return Value

Route NeueRoute

Exceptions

ClassNotFoundException Klasse wurde nicht gefunden
TypeException Der Presentor ist nicht vom Typ Presentor

at line 180
protected File writeParsedStructure(string $source, string $extension = null)

Parameters

string $source
string $extension

Return Value

File