Superglobal PHP

Superglobal adalah beberapa variable array spesial yang secara otomatis sudah ada di PHP (built-in variable). Kita tidak bisa membuat variable dengan nama sama seperti nama variable superglobal.

Superglobal memiliki super scope yang berarti variable superglobal bisa digunakan di dalam maupun di luar function.

Superglobal baru diperkenalkan pada PHP 4.1.0.

Berikut ini adalah beberapa variable superglobal:

Sebagian variable superglobal akan dibahas pada tutorial kali ini, sebagiannnya lagi akan dibahas pada tutorial mendatang.

$GLOBALS

$GLOBALS adalah variable yang berguna untuk mengakses variable yang memiliki global scope baik di dalam function maupun di luar function.

Variable yang memiliki global scope artinya variable tersebut hanya bisa digunakan di luar function.

PHP menyimpan semua variable yang memiliki global scope di dalam sebuah associative array bernama $GLOBALS[index]. [index] pada code tersebut adalah nama variable.

Berikut ini adalah contoh penggunaan variable $GLOBALS:

Code PHP 1:

<?php
$a = 2;
$b = 3;

function penambahan() {
    $GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b'];
};

penambahan();
echo $c;
?>

Hasil code PHP 1:

5

Pada code di atas, variable [$a] dan variable [$b] memiliki global scope yang artinya variable tersebut hanya bisa digunakan di luar function.

Untuk bisa menggunakan variable tersebut di dalam sebuah function maka kita membutuhkan $GLOBALS.

$_SERVER

$_SERVER adalah variable yang menyimpan semua informasi mengenai server yang sedang digunakan seperti informasi header, path, dll.

Berikut ini adalah beberapa contoh penggunaan variable $_SERVER:

Code PHP 2:

<?php
echo $_SERVER['PHP_SELF'] . "<br />";
echo $_SERVER['SERVER_NAME'] . "<br />";
echo $_SERVER['HTTP_USER_AGENT'];
?>

Hasil code PHP 2:

folder_path/tes.php
localhost
Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0

Berikut ini adalah beberapa informasi yang bisa disimpan dan ditampilkan oleh variable $_SERVER:

Element Penjelasan
$_SERVER[‘PHP_SELF’] Menampilkan nama file yang sedang dijalankan
$_SERVER[‘GATEWAY_INTERFACE’] Menampilkan versi CGI (Common Gateway Interface) yang server digunakan
$_SERVER[‘SERVER_ADDR’] Menampilkan IP address host server
$_SERVER[‘SERVER_NAME’] Menampilkan nama server (contoh: www.bangjuju.com atau localhost)
$_SERVER[‘SERVER_SOFTWARE’] Menampilkan software yang digunakan server (Contoh: Apache/2.2.22)
$_SERVER[‘SERVER_PROTOCOL’] Menampilkan nama protocol dan versinya (Contoh: HTTP/1.3)
$_SERVER[‘REQUEST_METHOD’] Menampilkan request method yang digunakan untuk mengakses webpage (POST atau GET)
$_SERVER[‘REQUEST_TIME’] Menampilkan timestamp (waktu) saat request digunakan (Contoh: 1377687333)
$_SERVER[‘QUERY_STRING’] Menampilkan query string jika webpage diakses melalui query string
$_SERVER["DOCUMENT_ROOT"] Menghasilkan document root (/var/www/mydomain.com/)
$_SERVER[‘HTTP_ACCEPT’] Menampilkan Accept header
$_SERVER[‘HTTP_ACCEPT_CHARSET’] Menampilkan ACCEPT_CHARSET (Contoh: utf-8,ISO-8859-1)
$_SERVER[‘HTTP_HOST’] Menampilkan Host header (URL base = www.abc.com)
$_SERVER[‘HTTP_REFERER’] Menampilkan URL webpage yang sedang dibuka (Beberapa user-agent tidak bisa menggunakan variable ini)
$_SERVER[‘HTTPS’] Memeriksa apakah script dijalankan melalui HTTP protocol yang aman
$_SERVER[‘REMOTE_ADDR’] Menampilkan IP address viewer
$_SERVER[‘REMOTE_HOST’] Menampilkan nama Host viewer
$_SERVER[‘REMOTE_PORT’] Menampilkan port yang digunakan oleh viewer
$_SERVER[‘SCRIPT_FILENAME’] Menampilkan absolute pathname (alamat) script yang sedang dieksekusi
$_SERVER[‘SERVER_ADMIN’] Menampilkan value SERVER_ADMIN
$_SERVER[‘SERVER_PORT’] Menampilkan port yang server gunakan (Contoh: 80)
$_SERVER[‘SERVER_SIGNATURE’] Menampilkan versi server dan nama virtual host
$_SERVER[‘PATH_TRANSLATED’] Menampilkan file system path yang menuju ke script
$_SERVER[‘SCRIPT_NAME’] Menampilkan pathname (alamat) script yang sedang dieksekusi
$_SERVER[‘SCRIPT_URI’] Menampilkan URI dari webpage

2 Responses to “Superglobal PHP”

  1. I have always called this the wedding cake syndrome. “I went to the wedding and didn’t eat any cake. I was so good!” Then come home, sit in the closet and eat a bag of potato chips.

  2. Oh I'm the same – i love to collect other stamp artists work!!My favourite is Hansel 7 Gretel, i always loved how they triumphed over the old witch and ate all the candy!Darn, now i need to make a hansel and gretel stamp set.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>