Joomla! Programmierung/Framework/JURI

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis


JURI bietet eine Reihe von Methoden und Eigenschaften für die Behandlung von Uniform Resource Identifiers (URIs). Es bietet auch eine Möglichkeit um die URI des aktuellen Requests zu ermitteln, unabhängig von dem Webserver auf dem Joomla! läuft.

Die Struktur der URI ist definiert in der RFC3986. Das folgende Beispiel wurde aus diesem Dokument entnommen.

     foo://example.com:8042/over/there?name=ferret#nose
     \_/   \______________/\_________/ \_________/ \__/
      |           |            |            |        |
   scheme     authority       path        query   fragment

Die Komponenten Schema (scheme) und Pfad (path) sind erforderlich, der Pfad kann jedoch auch leer sein (keine Zeichen).

Wenn die Autorität (authority) angegeben wird, muss der Pfad entweder leer sein oder mit einem Slash ("/") beginnen. Wird die Autorität nicht angegeben, darf der Pfad nicht mit zwei Slash-Zeichen beginnen ("//").

Das Schema gibt normalerweise das Internetprotokoll an welches genutzt wird, um auf die Resource zuzugreifen. Zum Beispiel bedeutet 'http', dass das HyperText Transfer Protocol genutzt werden soll.

Das Feld Autorität kann unterteilt werden in die Teile Benutzerinformationen, Host und Portnummer. Die Benutzerinformationen erlauben der URI Informationen zur Autentifizierung zu enthalten, normalerweise 'username:password', auch wenn dieses Format veraltet ist, da "Das Versenden von Benutzerinformationen im Klartext erwiesenermassen in nahezu allen Fällen in denen es eingesetzt wurde ein Sicherheitsrisiko darstellt".

Da im Internet jedoch immer noch URIs anzutreffen sind die Informationen zur Autentifizierung enthalten, wird die JURI Klasse weiterhin die Generierung und Verarbeitung von Informationen zur Autentifizierung unterstützen.

Der Query Teil kann mehrere Elemente, getrennt durch '&', enthalten.

Die JURI Klasse ist gewissermassen eine Wrapper-Funktion für die PHP Funktion parse_url.

[Bearbeiten] Definiert in

Folder blue.png /libraries/joomla

  • Folder red.png environment
    • File white.png uri.php

[Bearbeiten] Erweitert

[Bearbeiten] Get und Set Methoden

Get und Set Methoden werden für alle Teile der URI bereitgestellt. Es werden folgende Namen benutzt:

     http://fredbloggs:itsasecret@www.example.com:8080/path/to/Joomla/index.php?task=view&id=32#anchorthis
     \__/   \________/ \________/ \_____________/ \__/\_______________________/ \_____________/ \________/
      |         |          |             |         |              |                    |            |
    scheme     user       pass          host      port           path                query       fragment

Die Spalte "Beispiel" in der folgenden Tabelle zeigt das Resultat jeder Get Methode aus der obigen URI.

Get Methode Set Methode Beschreibung Beispiel
getFragment setFragment Fragment (alles nach dem '#'). Dies wird auch oft als Anker bezeichnet. anchorthis
getHost setHost Hostname or IP Adresse. Zum Beispiel www.joomla.org oder 192.168.2.45. www.example.com
getPass setPass Password Teil der authority. itsasecret
getPath setPath Path Zeichenkette. Beachten Sie, dass der Pfad immer eine vorangestelltes "/" Zeichen enthält. /path/to/Joomla/index.php
getPort setPort Port Nummer. Bestimmte Schemata (Protokolle) haben Ihre eigenen Standardwerte (z.B. 'http' hat Port 80, 'ftp' hat Port 21). 8080
getQuery setQuery Query im Stringformat. Zum Beispiel "foo=bar&x=y". Siehe auch JURI->buildQuery(). task=view&id=32
getScheme setScheme Scheme (Protokoll). Zum Beispiel 'http', 'https', 'ftp'. http
getUser setUser Username Teil der Autorität. fredbloggs
getVar setVar Ein bestimmtes Queryelement aus dem Querystring. Siehe auch JURI->delVar(). 32

[Bearbeiten] Andere Methoden

Name Beschreibung
base Gibt die Stamm-URI des Requests, unabhängig vom URI Objekt, zurück.
buildQuery Erstellt den Query Teil der URI mit Hilfe eines Arrays aus Queryelementen.
current Gibt die aktuelle URI des Requests ohne den Query Teil zurück, unabhängig vom URI Objekt.
delVar Löscht ein bestimmtes Queryelement. Siehe auch JURI->getVar() und JURI->setVar().
getInstance Gibt eine Referenz auf das globale JURI Objekt zurück, oder erstellt es, wenn es noch nicht existiert. Das globale URI Objekt beinhaltet die URI die zum erscheinen der aktuellen Seite geführt hat.
isInternal Prüft ob eine URI intern, also auf dem gleichen Host wie Joomla!, ist.
isSSL Prüft ob die URI das 'https' Schema (Protokoll) benutzt.
parse Analysiert die URI und füllt die Felder der Klasse.
root Gibt die Root-URI des Requests, unabhängig vom URI Objekt, zurück.
toString Gibt die komplette URI des URI Objekts im Stringformat zurück.

[Bearbeiten] Importieren

jimport( 'joomla.environment.uri' );

Die Klasse steht global zur Verfügung.

[Bearbeiten] Siehe auch

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge