dbXapp 2.0
RAD, CMS, Module und Runtime-IDE fuer dbXapp
Loading...
Searching...
No Matches
dbxWebApp Class Reference

Bereitet den aktuellen HTTP-Request fuer dbXapp vor. More...

Inheritance diagram for dbxWebApp:
myWebApp

Public Member Functions

 get_base_url (string $uri)
 Ermittelt die Basis-URL des Servers und gibt sie zurück.
 create_new_cfg ($modul='dbx')
 Erstellt eine minimale Default-Konfiguration fuer ein Modul.
 check_uri ()
 Zerlegt REQUEST_URI in Pfad und Query-Parameter.
 parse_route_url ($url)
 Parst Permalink- und Standard-URLs in Pfad + Query-Parameter.
 build_route_url ($permalink, $params=array(), $fragment='')
 Baut eine kanonische Route-URL aus Permalink, Query-Parametern und Fragment.
 append_route_params ($url, $params=array())
 Haengt Parameter an eine vorhandene Route-URL an.
 route_param_prefix ($url)
 Prefix fuer Template-Links wie {self}dbx_design=desktop.
 get_request_route_string ($baseUri='')
 Liefert den Routen-Teil des aktuellen Requests (Permalink + Query).
 strip_unwanted_route_params ($params, $unwanted='')
 Entfernt unerwuenschte Parameter aus einem Param-Array.
 get_self_url ($permalink, $unwanted)
 Baut die aktuelle Self-URL ohne unerwuenschte DBX-Steuerparameter.
 memory_switch_params ()
 Liefert die Remember-/Memory-Schalter, die nicht in Permalinks haengen duerfen.
 normalize_self_url ($url)
 Bereinigt eine Self-/Menu-URL von Memory-Schaltern in Pfad und Query.
 peel_glued_params_from_path ($path, &$params=array())
 Entfernt angeklebte Query-Parameter aus einem Permalink-Pfad.
 normalize_route_params ($params)
 Normalisiert Query-Parameter auf string-Werte.
 get_base_uri ()
 Liefert das Basisverzeichnis des Entry Points als URI.
 get_permalink ($uri)
 Ermittelt den Permalink-Anteil hinter der Basis-URI.
 setRequestUriToGet ()
 Spiegelt Query-Parameter aus REQUEST_URI nach $_GET.
 check_request ()
 Normalisiert den aktuellen HTTP-Request fuer den Kernel.
 get_is_resorce ($ext)
 Prueft, ob eine Dateiendung als direkt auslieferbare Ressource gilt.
 check_config ()
 Stellt die zentrale dbx-Konfiguration sicher.
 check_missing ()
 Behandelt fehlende statische Ressourcen.
 check_remember ()
 Uebernimmt persistente UI-/Systemwerte aus Remember in den Request.
 check_perma ()
 Loest Permalink, Home, Admin und explizite Modulrouten auf.
 check_modul ()
 Prueft das aktive Modul und setzt bei fehlendem Modul dbxHome.
 check_design ()
 Bestimmt das aktive Design fuer den Request.
 check_lng ()
 Prueft und speichert die aktive Sprache.
 translate ($content, $lng='')
 Wendet die globale dbx/translate.php auf Inhalt an.
 del_add_css ($content)
 Ersetzt [dbx:add_css] durch im Request gesammelte CSS-Fragmente.
 del_add_js ($content)
 Ersetzt [dbx:add_js] durch im Request gesammelte JS-Fragmente.
 out_filter ($content)
 Fuehrt den zentralen Ausgabe-Filter aus.
 add_norep ($content)
 Setzt geschuetzte norep-Platzhalter am Ende wieder ein.
 get_session_rec ($fld, $default='')
 design_load ($modul_content)
 add_editor_files_data ($content)
 run ()

Detailed Description

Bereitet den aktuellen HTTP-Request fuer dbXapp vor.

Die Klasse ist kein Router im SPA-Sinn. Sie normalisiert den klassischen PHP-Request fuer den Single Entry Point index.php:

  • Basis-URL und Self-URL bestimmen
  • Permalink und Query-Parameter aufloesen
  • Modul, Design, Sprache und Content-Kontext setzen
  • statische Ressourcen ausliefern
  • Design-Templates und Outputfilter vorbereiten

Beispiel aus dem Frontcontroller-Kontext:

$web = dbx()->get_system_obj('dbxWebApp');
$web->check_request();
$web->check_modul();
$web->check_design();
DBX schema administration.

Definition at line 26 of file dbxWebApp.class.php.

Member Function Documentation

◆ add_editor_files_data()

dbxWebApp::add_editor_files_data ( $content)

Definition at line 1279 of file dbxWebApp.class.php.

◆ add_norep()

dbxWebApp::add_norep ( $content)

Setzt geschuetzte norep-Platzhalter am Ende wieder ein.

Parameters
string$contentAusgabeinhalt mit [norep_*]-Markern.
Returns
string Inhalt mit wieder eingesetzten Fragmenten.

Definition at line 1217 of file dbxWebApp.class.php.

◆ append_route_params()

dbxWebApp::append_route_params ( $url,
$params = array() )

Haengt Parameter an eine vorhandene Route-URL an.

Vorhandene Query-Parameter bleiben erhalten und werden mit den neuen Werten ueberschrieben, wenn derselbe Key erneut gesetzt wird.

Beispiel:

$url = dbx()->append_route_params('kontakt?dbx_lng=de', ['dbx_edit' => 1]);

Ergebnis: kontakt?dbx_lng=de&dbx_edit=1

Parameters
string$urlVorhandene Route-URL.
array$paramsZusaetzliche Query-Parameter.
Returns
string Normalisierte Route-URL.

Definition at line 279 of file dbxWebApp.class.php.

References build_route_url(), and parse_route_url().

◆ build_route_url()

dbxWebApp::build_route_url ( $permalink,
$params = array(),
$fragment = '' )

Baut eine kanonische Route-URL aus Permalink, Query-Parametern und Fragment.

Beispiel:

$url = dbx()->build_route_url('kontakt', ['dbx_lng' => 'de'], '#form');

Ergebnis: kontakt?dbx_lng=de#form

Parameters
string$permalinkRelativer Permalink ohne fuehrenden Slash.
array$paramsQuery-Parameter als Key/Value-Array.
string$fragmentOptionales Fragment inklusive #.
Returns
string Zusammengesetzte Route-URL.

Definition at line 242 of file dbxWebApp.class.php.

References normalize_route_params().

Referenced by append_route_params(), get_self_url(), normalize_self_url(), and route_param_prefix().

◆ check_config()

dbxWebApp::check_config ( )

Stellt die zentrale dbx-Konfiguration sicher.

Returns
void

Definition at line 750 of file dbxWebApp.class.php.

References $config, and create_new_cfg().

◆ check_design()

dbxWebApp::check_design ( )

Bestimmt das aktive Design fuer den Request.

Admin-Module duerfen ins Admin-Design wechseln, normale Benutzer bleiben im User-Design. Installations-/Intro-Zustaende koennen das Zielmodul und Design explizit umschalten.

Returns
void

Definition at line 1057 of file dbxWebApp.class.php.

References $config.

◆ check_lng()

dbxWebApp::check_lng ( )

Prueft und speichert die aktive Sprache.

Returns
void

Definition at line 1125 of file dbxWebApp.class.php.

References $config.

◆ check_missing()

dbxWebApp::check_missing ( )

Behandelt fehlende statische Ressourcen.

Existiert die Ressource doch im Projektpfad, wird sie direkt ausgeliefert. Andernfalls wird der Fehlzugriff in dbxMissing gezaehlt.

Returns
void

Definition at line 772 of file dbxWebApp.class.php.

References exit, and get_is_resorce().

◆ check_modul()

dbxWebApp::check_modul ( )

Prueft das aktive Modul und setzt bei fehlendem Modul dbxHome.

Returns
void

Definition at line 1041 of file dbxWebApp.class.php.

◆ check_perma()

dbxWebApp::check_perma ( )

Loest Permalink, Home, Admin und explizite Modulrouten auf.

Reihenfolge:

  • explizite dbx_modul/dbx_run1 Route gewinnt
  • cid/dbx_cid kann direkt Content setzen
  • Home-Route nutzt dbxHome-Konfiguration
  • admin schaltet auf dbxAdmin
  • sonst live im Modul dbxContent aufloesen
  • unbekannte Permalinks an dbxHome geben
Returns
void

Definition at line 932 of file dbxWebApp.class.php.

References dbx\dbxContent\dbxContentPermalinkIndex\resolve().

◆ check_remember()

dbxWebApp::check_remember ( )

Uebernimmt persistente UI-/Systemwerte aus Remember in den Request.

Betroffen sind Design, Edit-Modus, Sprache und Farbschema.

Returns
void

Definition at line 807 of file dbxWebApp.class.php.

◆ check_request()

dbxWebApp::check_request ( )

Normalisiert den aktuellen HTTP-Request fuer den Kernel.

Diese Methode ist einer der ersten Frontcontroller-Schritte. Sie liest JSON-Body, klassische GET/POST-Parameter, DBX-Ajax-Hilfsfelder und Permalink-Kontext ein und schreibt daraus die zentralen Systemvariablen: dbx_permalink, dbx_self_url, dbx_base_url, dbx_base_uri, dbx_window, dbx_ajax und dbx_go.

Beispiel:

$web = dbx()->get_system_obj('dbxWebApp');
$web->check_request();
Returns
void

Definition at line 549 of file dbxWebApp.class.php.

References get_base_uri(), get_base_url(), get_permalink(), get_request_route_string(), get_self_url(), and parse_route_url().

◆ check_uri()

dbxWebApp::check_uri ( )

Zerlegt REQUEST_URI in Pfad und Query-Parameter.

Returns
string Request-Pfad ohne Querystring.

Definition at line 141 of file dbxWebApp.class.php.

References $_SERVER.

◆ create_new_cfg()

dbxWebApp::create_new_cfg ( $modul = 'dbx')

Erstellt eine minimale Default-Konfiguration fuer ein Modul.

Parameters
string$modulModulname.
Returns
array Erzeugte Konfiguration.

Definition at line 110 of file dbxWebApp.class.php.

References $config.

Referenced by check_config().

◆ del_add_css()

dbxWebApp::del_add_css ( $content)

Ersetzt [dbx:add_css] durch im Request gesammelte CSS-Fragmente.

Parameters
string$contentAusgabeinhalt.
Returns
string Inhalt mit eingesetztem CSS.

Definition at line 1167 of file dbxWebApp.class.php.

◆ del_add_js()

dbxWebApp::del_add_js ( $content)

Ersetzt [dbx:add_js] durch im Request gesammelte JS-Fragmente.

Parameters
string$contentAusgabeinhalt.
Returns
string Inhalt mit eingesetztem JavaScript.

Definition at line 1185 of file dbxWebApp.class.php.

◆ design_load()

dbxWebApp::design_load ( $modul_content)

Definition at line 1250 of file dbxWebApp.class.php.

◆ get_base_uri()

dbxWebApp::get_base_uri ( )

Liefert das Basisverzeichnis des Entry Points als URI.

Returns
string URI-Pfad, z.B. /dbxapp/.

Definition at line 477 of file dbxWebApp.class.php.

References $_SERVER.

Referenced by check_request(), get_request_route_string(), get_self_url(), and setRequestUriToGet().

◆ get_base_url()

dbxWebApp::get_base_url ( string $uri)

Ermittelt die Basis-URL des Servers und gibt sie zurück.

Diese Funktion bestimmt das Protokoll, die Host-Adresse und den Port, um eine vollständige URL zu generieren. Falls der Port 4221 ist, wird die Basis-URL aus einer Konfigurationsdatei gelesen.

Die URL wird für Performance-Zwecke zwischengespeichert und kann über dbx_get_Remember aus dem Cache abgerufen werden.

Parameters
string$uriDer URI, der an die Basis-URL angehängt wird.
Returns
string Die vollständige URL mit angehängtem URI.

Definition at line 42 of file dbxWebApp.class.php.

References $_SERVER.

Referenced by check_request().

◆ get_is_resorce()

dbxWebApp::get_is_resorce ( $ext)

Prueft, ob eine Dateiendung als direkt auslieferbare Ressource gilt.

Parameters
string$extDateiendung ohne Punkt.
Returns
int 1 = Ressource, 0 = keine Ressource.

Definition at line 649 of file dbxWebApp.class.php.

Referenced by check_missing().

◆ get_permalink()

dbxWebApp::get_permalink ( $uri)

Ermittelt den Permalink-Anteil hinter der Basis-URI.

Parameters
string$uriBasis-URI.
Returns
string Permalink ohne fuehrenden Slash.

Definition at line 510 of file dbxWebApp.class.php.

References get_request_route_string(), and parse_route_url().

Referenced by check_request().

◆ get_request_route_string()

dbxWebApp::get_request_route_string ( $baseUri = '')

Liefert den Routen-Teil des aktuellen Requests (Permalink + Query).

Parameters
string$baseUri
Returns
string

Definition at line 314 of file dbxWebApp.class.php.

References $_SERVER, and get_base_uri().

Referenced by check_request(), get_permalink(), get_self_url(), and setRequestUriToGet().

◆ get_self_url()

dbxWebApp::get_self_url ( $permalink,
$unwanted )

Baut die aktuelle Self-URL ohne unerwuenschte DBX-Steuerparameter.

Parameters
string$permalinkAktueller Permalink/Pfad.
string$unwantedKommagetrennte Zusatzparameter, die entfernt werden.
Returns
string Bereinigte Self-URL.

Definition at line 379 of file dbxWebApp.class.php.

References build_route_url(), get_base_uri(), get_request_route_string(), parse_route_url(), and strip_unwanted_route_params().

Referenced by check_request().

◆ get_session_rec()

dbxWebApp::get_session_rec ( $fld,
$default = '' )

Definition at line 1238 of file dbxWebApp.class.php.

◆ memory_switch_params()

dbxWebApp::memory_switch_params ( )

Liefert die Remember-/Memory-Schalter, die nicht in Permalinks haengen duerfen.

Returns
array<int,string>

Definition at line 395 of file dbxWebApp.class.php.

Referenced by strip_unwanted_route_params().

◆ normalize_route_params()

dbxWebApp::normalize_route_params ( $params)

Normalisiert Query-Parameter auf string-Werte.

Parameters
array$paramsUnnormalisierte Query-Parameter.
Returns
array Query-Parameter mit string-Werten.

Definition at line 450 of file dbxWebApp.class.php.

Referenced by build_route_url(), and parse_route_url().

◆ normalize_self_url()

dbxWebApp::normalize_self_url ( $url)

Bereinigt eine Self-/Menu-URL von Memory-Schaltern in Pfad und Query.

Parameters
string$url
Returns
string

Definition at line 405 of file dbxWebApp.class.php.

References build_route_url(), parse_route_url(), and strip_unwanted_route_params().

◆ out_filter()

dbxWebApp::out_filter ( $content)

Fuehrt den zentralen Ausgabe-Filter aus.

Parameters
string$contentAusgabeinhalt.
Returns
string Gefilterter Inhalt.

Definition at line 1205 of file dbxWebApp.class.php.

References dbx_get_base_dir().

◆ parse_route_url()

dbxWebApp::parse_route_url ( $url)

Parst Permalink- und Standard-URLs in Pfad + Query-Parameter.

Unterstuetzt:

  • home/seite?dbx_modul=x
  • home/seite&dbx_design=test
  • ?dbx_modul=x
  • angeklebte dbx_* / key_value-Parameter im Pfad
Parameters
string$url
Returns
array{permalink:string,params:array<string,string>,fragment:string}

Definition at line 176 of file dbxWebApp.class.php.

References normalize_route_params(), and peel_glued_params_from_path().

Referenced by append_route_params(), check_request(), get_permalink(), get_self_url(), normalize_self_url(), route_param_prefix(), and setRequestUriToGet().

◆ peel_glued_params_from_path()

dbxWebApp::peel_glued_params_from_path ( $path,
& $params = array() )

Entfernt angeklebte Query-Parameter aus einem Permalink-Pfad.

Parameters
string$pathPermalink-Pfad, der angeklebte Parameter enthalten kann.
array$paramsZielarray, in das gefundene Parameter geschrieben werden.
Returns
string Bereinigter Pfad ohne angeklebte Query-Parameter.

Definition at line 418 of file dbxWebApp.class.php.

Referenced by parse_route_url().

◆ route_param_prefix()

dbxWebApp::route_param_prefix ( $url)

Prefix fuer Template-Links wie {self}dbx_design=desktop.

Parameters
string$url
Returns
string

Definition at line 293 of file dbxWebApp.class.php.

References build_route_url(), and parse_route_url().

◆ run()

dbxWebApp::run ( )

Definition at line 1414 of file dbxWebApp.class.php.

References $root.

◆ setRequestUriToGet()

dbxWebApp::setRequestUriToGet ( )

Spiegelt Query-Parameter aus REQUEST_URI nach $_GET.

Sinnvoll fuer Permalink-/Rewrite-Situationen, in denen PHP die Parameter nicht bereits normal in $_GET bereitstellt.

Returns
void

Definition at line 524 of file dbxWebApp.class.php.

References get_base_uri(), get_request_route_string(), and parse_route_url().

◆ strip_unwanted_route_params()

dbxWebApp::strip_unwanted_route_params ( $params,
$unwanted = '' )

Entfernt unerwuenschte Parameter aus einem Param-Array.

Parameters
array$paramsQuery-Parameter als Key/Value-Array.
string$unwantedKommagetrennte Zusatzparameter, die entfernt werden.
Returns
array Bereinigte Query-Parameter.

Definition at line 355 of file dbxWebApp.class.php.

References memory_switch_params().

Referenced by get_self_url(), and normalize_self_url().

◆ translate()

dbxWebApp::translate ( $content,
$lng = '' )

Wendet die globale dbx/translate.php auf Inhalt an.

Parameters
string$contentInhalt.
string$lngSprache; leer nutzt aktive Sprache.
Returns
string Uebersetzter Inhalt.

Definition at line 1149 of file dbxWebApp.class.php.

References dbx_get_base_dir().


The documentation for this class was generated from the following file: