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.

Properties

protected File $file
protected Directory $parsedRouteDirectory
protected Router $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(Router $router, File $file)

Parser bestimmen

static Route
createRoute(Assembly $app, 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 65
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 82
static Directory getParsedRoutePath()

Standardpfad in dem die erstellten Routen abgelegt werden.

Return Value

Directory

at line 90
$this clear()

Return Value

$this

at line 104
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 121
static Parser getParser(Router $router, File $file)

Parser bestimmen

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

Parameters

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

Return Value

Parser Der zu verwendende Parser

Exceptions

RouteException Wenn kein Parser gefunden wurde

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

Route erstellen

Parameters

Assembly $app HTTP-Verb (GET,POST,....)
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 163
protected File writeParsedStructure(string $source, string $extension = null)

Parameters

string $source
string $extension

Return Value

File