Seit PHP 4.1.0 wird empfohlen,
externe Variablen
über die Superglobals, die weiter unten beschrieben werden, abzufragen.
Davor war man entweder auf die register_globals
-Einstelliung oder die Langformen der vordefinierten PHP-Arrays
($HTTP_*_VARS) angewiesen.
Seit PHP 5.0.0 können Sie die
Registrierung der langen von PHP
vordefinierten Arrays mit der Konfigurationsoption
register_long_arrays
abschalten.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie stattdessen $HTTP_SERVER_VARS.
$_SERVER ist ein Array, in dem Informationen über
Header, Pfade oder den Speicherort des Skripts gespeichert sind. Die
Einträge dieses Arrays werden vom Webserver generiert. Es gibt keine
Garantie, dass jeder Webserver alle diese Einträge erzeugt. Manche
Server werden Einträge auslassen oder andere einfügen, die hier
nicht aufgeführt sind. Ein grosser Teil dieser Variablen stammt aus
der CGI 1.1 Spezifikation.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_SERVER; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_SERVER_VARS notwendig ist.
$HTTP_SERVER_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_SERVER_VARS und $_SERVER
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_SERVER
und $HTTP_SERVER_VARS Arrays. Lesen Sie für weitere
Informationen das Kapitel über Sicherheit
Verwendung von Register Globals.
Diese individuellen globalen Variablen sind nicht automatisch global.
Möglicherweise finden Sie das eine oder andere der folgenden
Elemente nicht in $_SERVER. Beachten Sie, dass nur
wenige, falls überhaupt, verfügbar sind (oder von Bedeutung
sind) wenn sie PHP auf der Kommandozeile betreiben.
'PHP_SELF'
Der Name des aktuell ausgeführten Skripts, relativ zum
Wurzelverzeichnis des Servers. Zum Beispiel gibt
$_SERVER['PHP_SELF'] in einem Skript mit der
Adresse http://example.com/test.php/foo.bar
den Namen /test.php/foo.bar zurück.
Falls PHP auf der Kommandozeile ausgeführt wird, ist diese
Variable nicht verfügbar.
'argv'
In diesem Array sind die Argumente enthalten, die an ein Skript
übergeben wurden. Wenn das Skript auf der Kommandozeile
ausgeführt wird, haben Sie einen C-ähnlichen Zugriff auf die
Kommandozeilenparameter. Wenn es mit der GET-Methode
aufgerufen wird, enthält das Array den Abfragestring.
'argc'
Enthält die Anzahl der Kommandozeilenparameter, die an das
Skript übergeben wurden (falls es von der Kommandozeile aus
aufgerufen wurde).
'GATEWAY_INTERFACE'
Die vom Server genutzte Revision der CGI Spezifikation,
zB. 'CGI/1.1'.
'SERVER_ADDR'
Die IP-Adresse des Servers unter der das aktuelle Script
ausgeführt wird.
'SERVER_NAME'
Der Name des Server Hosts unter dem das aktuelle Skript
ausgeführt wird. Falls das Skript unter einem virtuellen Host
läuft, wird der Name, der für diesen virtuellen Host vergeben
wurde, angezeigt.
'SERVER_SOFTWARE'
Die Identifikation des Servers, mit der sich ein Server im
Header bei der Beantwortung einer Anforderung identifiziert.
'SERVER_PROTOCOL'
Name und Versionsnummer des Protokolls, über das die Seite
angefordert wurde. Z. B. 'HTTP/1.0';
'REQUEST_METHOD'
Die HTTP-Methode mit der auf die Seite zugegriffen wurde, zB. 'GET',
'HEAD', 'POST', 'PUT'.
Anmerkung:
Ist die Zugriffsmethode HEAD so wird das Skript
nach dem Senden der Header (also mit der ersten nicht von der Ausgabepufferung
abgefangenen Ausgabe) beendet.
'REQUEST_TIME'
Der Startzeitpunkt des Requests. Verfügbar ab PHP 5.1.0
'QUERY_STRING'
Der Query-String, falls vorhanden, mit dem auf die Seite zugegriffen wurde.
'DOCUMENT_ROOT'
Das Wurzelverzeichnis des Webservers, unter dem das aktuelle
Skript ausgeführt wird, so wie es in der Konfigurationsdatei des
Webservers hinterlegt ist.
'HTTP_ACCEPT'
Der Inhalt des Accept:-Headers der aktuellen
Anforderung, falls dieser Header vorhanden ist.
'HTTP_ACCEPT_CHARSET'
Der Inhalt des Accept-Charset:-Headers der
aktuellen Anforderung, so vorhanden. Z. B.
'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Der Inhalt des Accept-Encoding:-Headers der
aktuellen Anforderung, so vorhanden. Beispiel:
'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Der Inhalt des Accept-Language:-Headers der
aktuellen Anforderung, so vorhanden. Beispiel:
'en'.
'HTTP_CONNECTION'
Der Inhalt des Connection:-Headers der
aktuellen anforderung, so vorhanden. Beispiel: 'Keep-Alive'.
'HTTP_HOST'
Der Inhalt des Host:-Headers der aktuellen Anforderung,
so vorhanden.
'HTTP_REFERER'
Die Adresse der Seite (falls es eine gibt), die den Browser auf
die aktuelle Seite verwies. Dieser Header wird vom Browser
gesetzt, aber nicht von allen. Einige Browser bieten die
Möglichkeit, den HTTP_REFERER zu
modifizieren. Kurz, auf diesen Header kann man sich nicht
verlassen.
'HTTP_USER_AGENT'
Inhald des User-Agent: Headers des
aktuellen Requests falls vorhanden. Dieser String beschreibt
den auf die Seite zugreifenden Client. Ein typisches Beispiel ist
Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586).
Sie können diesen unter anderem im Zusammenhang mit der Funktion
get_browser() benutzen um die Ausgaben Ihres
Scripts an die Fähigkeiten des Clients anzupassen.
'HTTPS'
Dieser Eintrag ist gesetzt wenn der Zugriff auf das Script über das
HTTPS Protokoll erfolgte.
protocol.
Wenn das ISAPI des IIS genutzt wird so ist diese Variable auch bei
nicht-HTTPS Zugriffen gesetzt und enthält in diesem Fall den Wert
off.
'REMOTE_ADDR'
Die IP-Adresse des Rechners, der die aktuelle Seite angefordert hat.
'REMOTE_HOST'
Der Hostname des Servers, von dem die aktuelle Seite geladen
wurde. Der reverse dns lookup basiert auf dem
REMOTE_ADDR-Header.
Anmerkung:
Um diese Variable zu erzeugen, muss Ihr Webserver entsprechend
eingestellt sein. Zum Beispiel muss beim Apache
HostnameLookups On in der httpd.conf aktiv
sein. Siehe auch unter gethostbyaddr().
'REMOTE_PORT'
Der Port über den der Rechner des Benutzers mit dem Webserver
kommuniziert.
'SCRIPT_FILENAME'
Der absolute Pfadname des aktuell ausgeführten Skripts.
Anmerkung:
Falls das Skript auf der Kommandozeile mit einem relativen
Pfad aufgerufen wird, wie z. B. file.php
oder ../file.php, enthält
$_SERVER['SCRIPT_FILENAME'] den relativen
Pfad, den der Benutzer angegeben hat.
'SERVER_ADMIN'
Der Wert, der in der Server Konfiguration der Direktive
SERVER_ADMIN (bei Apache) zugewiesen wurde. Falls das Skript
unter einem virtuellen Host läuft, wird der Wert angegeben, der
für diesen virtuellen Host angegeben wurde.
'SERVER_PORT'
Der Port, den der Server zur Kommunikation benutzt. Bei
Standardinstallationen ist dies der Port
'80'. Bei Verwendung von SSH ändert sich der
Wert zu Ihrem definierten SSH Port.
'SERVER_SIGNATURE'
Ein String, der bei Seiten, die vom Server generiert wurden, die
Server Version und den Namen des virtuellen Hosts enthält, falls
diese Option aktiviert ist.
'PATH_TRANSLATED'
Filesystem- (not document root-) based path to the current
script, after the server has done any virtual-to-real
mapping.
Anmerkung:
As of PHP 4.3.2, PATH_TRANSLATED is no longer set
implicitly under the Apache 2 SAPI in contrast
to the situation in Apache 1, where it's set to the same value as
the SCRIPT_FILENAME server variable when it's not
populated by Apache. This change was made to comply with the
CGI specification that
PATH_TRANSLATED should only exist if
PATH_INFO is defined.
Apache 2 users may use AcceptPathInfo = On inside
httpd.conf to define PATH_INFO.
'SCRIPT_NAME'
Contains the current script's path. This is useful for pages
which need to point to themselves.
The __FILE__
constant contains the full path and filename of the current (i.e.
included) file.
'REQUEST_URI'
The URI which was given in order to access this page; for
instance, '/index.html'.
'PHP_AUTH_DIGEST'
When running under Apache as module doing Digest HTTP authentication
this variable is set to the 'Authorization' header sent by the
client (which you should then use to make the appropriate
validation).
'PHP_AUTH_USER'
Wenn HTTP-Authentifizierung mit Apache als Modul benutzt wird,
enthält diese Variable den Benutzernamen, der vom Anwender
angegeben wurde.
'PHP_AUTH_PW'
Wenn HTTP-Authentifizierung mit Apache als Modul benutzt wird,
enthält diese Variable das Passwort, das vom Anwender angegeben
wurde.
'AUTH_TYPE'
Wenn HTTP-Authentifizierung mit Apache als Modul benutzt wird,
enthält diese Variable den Authentifizierungs-Typ.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_ENV_VARS.
Diese Variablen werden aus der Systemumgebung, in der der Parser
läuft in den globalen Namensraum Von PHP importiert. Viele davon
werden vom System generiert, unter dem der Parser läuft und
unterschiedliche Systeme benutzen unterschiedliche
Umgebungsvariablen. Eine verbindliche Liste anzugeben ist daher
unmöglich. Schauen Sie in der Dokumentation Ihres Systems nach den
dort definierten Umgebungsvaraiblen.
Andere Umgebungsvariablen einschließlich der CGI-Variablen, sind hier
aufgeführt, egal ob PHP als Servermodul oder CGI Prozess läuft.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_ENV; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_ENV_VARS notwendig ist.
$HTTP_ENV_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_ENV_VARS und $_ENV
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_ENV und
$HTTP_ENV_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_COOKIE_VARS.
Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit
HTTP-Cookies übergeben wurde. Es ist automatisch global in allen
Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_COOKIE; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_COOKIE_VARS notwendig ist.
$HTTP_COOKIE_VARS contains the same initial
information, but is not an autoglobal. (Note that
HTTP_COOKIE_VARS and $_COOKIE
are different variables and that PHP handles them as such)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_COOKIE und
$HTTP_COOKIE_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_GET_VARS.
Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit
der GET-Methode übergeben wurde. Es ist automatisch global in allen
Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_GET; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_GET_VARS notwendig ist.
$HTTP_GET_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_GET_VARS und $_GET
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_GET und
$HTTP_GET_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_POST_VARS.
Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit
der POST-Methode übergeben wurde. Es ist automatisch global in allen
Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_POST; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_POST_VARS notwendig ist.
$HTTP_POST_VARS enthält dieselben Informationen
ist aber nicht automatisch global. (Beachten Sie, dass
$HTTP_POST_VARS und $_POST
verschiedene Variablen sind, die von PHP auch so behandelt werden.)
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_POST und
$HTTP_POST_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_POST_FILES.
Ein assoziatives Array mit Elementen, die in das aktuelle Skript
mit der HTTP-POST-Methode hochgeladen wurden. Es ist automatisch global
in allen Gültigkeitsbereichen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_FILES; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_POST_FILES notwendig ist.
$HTTP_POST_FILES enthält dieselben Informationen,
ist aber nicht autoglobal.
Falls die Direktive register_globals
gesetzt ist, sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_FILES und
$HTTP_POST_FILES
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 neu eingeführt. Es gibt kein
entsprechendes Array in älteren Versionen.
Anmerkung:
Vor der PHP Version 4.3.0 waren die Informationen des Arrays
$_FILES auch im Array
$_REQUEST enthalten.
Ein assoziatives Aray, das die Inhalte der Arrays
$_GET, $_POST und
$_COOKIE enthält.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_REQUEST; in Funktionen oder Methoden
importieren, um darauf zuzugreifen.
Falls die Direktive register_globals
gesetzt ist,
sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von dem Array $_REQUEST.
Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung:
Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen
benutzen Sie das Array $HTTP_SESSION_VARS.
Ein assoziatives Array, das die Sessionvariablen für das aktuelle
Skript enthält. Mehr über die Verwendung dieses Arrays finden Sie bei
der Dokumentation zu den Session Funktionen.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $_SESSION; in Funktionen oder Methoden
importieren, um darauf zuzugreifen, so wie es bei
$HTTP_SESSION_VARS notwendig ist.
$HTTP_SESSION_VARS enthält dieselben
Informationen, ist aber nicht automatisch global.
Falls die Direktive
register_globals gesetzt ist,
sind diese Variablen auch im globalen Sichbarkeitsbereich eines
Skripts verfügbar, d.h., unabhängig von den $_SESSION
und $HTTP_SESSION_VARS
Arrays. Lesen Sie für weitere Informationen das Kapitel über
Sicherheit Verwendung von
Register Globals. Diese individuellen globalen Variablen
sind nicht automatisch global.
Anmerkung: $GLOBALS steht seit PHP 3.0.0 zur Verfügung.
Ein assoziatives Array, das Referenzen zu allen Variablen, die
gegenwärtig im globalen Gültigkeitsbereich des Skripts definiert
sind. Die Variablennamen sind die Indizes dieses Arrays.
Dies ist eine 'superglobale' oder automatisch globale Variable. Das
bedeutet, dass die Variable in allen Sichtbarkeitsbereichen eines
Skripts verfügbar ist. Sie brauchen dieses Array nicht mit
global $GLOBALS; in Funktionen oder Methoden
importieren, um darauf zuzugreifen.
$php_errormsg ist eine Variable, die den Text der
zuletzt aufgetretenen PHP Fehlermeldung enthält. Hierauf kann nur in
dem Gültigkeitsbereich zugegriffen werden, in dem der Fehler auftrat,
und nur dann, wenn die Direktive track_errors
in der Konfiguration aktiviert ist (standardmäßig ist diese Direktive
deaktiviert).
Dieses Tutorial beschreibt sehr gut die Wirkunsweise von objektorientiertes Programmieren. Also bestens geeignet um das objektorientierte Programmieren zu verstehen.
In mehreren Tutorials wird der Zugriff auf Facebook Daten mittels Graph API, FQL und REST API erklärt. Alle Codebeispiele liegen zum Ausprobieren in einem SVN, bzw. github Repository bereit.