Pengertian Variabel Scope
Variabel Scope (atau ruang lingkup variabel) adalah jangkauan kode program dimana perintah program masih bisa mengakses sebuah variabel.
Jika kita mendefenisikan sebuah variabel pada satu file PHP, maka variabel tersebut dapat diakses oleh seluruh kode program pada halaman yang sama. Namun jika variabel tersebut di defenisikan di dalam sebuah fungsi, variabel itu belum tentu bisa diakses dari luar fungsi tersebut. Hal inilah yang dimaksud dengan Variabel Scope.
Variabel yang didefenisikan di dalam sebuah fungsi, secara default tidak dapat diakses oleh kode program di luar fungsi tersebut. Dan begitu juga sebaliknya, variabel yang didefenisikan di luar fungsi, tidak bisa diakses dari dalam fungsi.
Contoh Variabel Scope dalam Fungsi PHP
Untuk memahami konsep variabel scope, berikut adalah contoh kode program dalam PHP:
<?php
$a
= 5;
function
coba()
{
$a
=10;
$b
=7;
}
// pemanggilan fungsi coba()
coba();
echo
$a
;
// 5
echo
$b
;
// error:notice
?>
Setelah memanggil fungsi coba() pada baris ke-11, saya kemudian memeriksa nilai $a dengan perintah echo. Dan ternyata nilai $a adalah 5, bukan 10. Dan ketika saya ingin mengakses variabel $b, PHP akan mengeluarkan peringatan bahwa variabel $b belum di defenisikan, dengan pesan error: Notice: Undefined variable: b in D:\xampp\htdocs\belajar\test.php on line 13.
Hal ini terjadi karena variabel $a dan $b berada di dalam fungsi coba() yang merupakan variabel yang berbeda dengan variabel $a yang berada diluar fungsi. Jangkauan variabel $a dan $b hanya berada di dalam fungsi.
Pengertian Global Variabel
Jika kita tetap ingin menggunakan variabel yang didefenisikan di luar fungsi dan sebaliknya, PHP memperbolehkan hal tersebut dengan menambahkan sebuah kata kunci ‘global’ sebelum pendefenisian nama variabel.
Berikut contoh penggunaan keyword global:
<?php
$a
= 7;
function
coba()
{
global
$a
;
global
$b
;
$b
=15;
echo
$a
;
//7
echo
$b
;
//15
}
coba();
echo
$a
;
//7
echo
$b
;
//15
?>
Program diatas tidak akan menghasilkan error seperti sebelumnya, dan kita bisa mengakses nilai variabel $a dari dalam fungsi coba(), dan nilai variabel $b di luar fungsi.
Kata kunci global membuat fungsi dapat mengakses variabel yang didefenisikan diluar fungsi.
Pengertian Static Variabel
Static Variabel, atau variabel statis adalah jenis variabel yang mempertahankan nilainya pada setiap pemanggilan fungsi. Untuk variabel normal, nilai dari variabel tersebut akan secara otomatis dihapus pada saat fungsi selesai dijalankan, dan akan dibuat ulang pada saat fungsi dipanggil.
Namun jika sebuah variabel dinyatakan sebagai static variabel, maka nilai variabel tersebut akan tetap dipertahankan walaupun fungsi telah selesai dijalankan. Biasanya fungsi ini dimanfaatkan jika kita ingin menghitung berapa kali sebuah fungsi dipanggil.
Berikut adalah contoh program penggunaan variabel statis dalam PHP:
<?php
function
coba()
{
static
$a
=0;
$a
=
$a
+1;
return
"Ini adalah pemanggilan ke-$a fungsi coba() <br />"
;
}
echo
coba();
echo
coba();
echo
coba();
echo
coba();
?>
Jika anda menghapus keyword static pada baris ke-4, variabel $a akan selalu bernilai 1, karena terdapat operasi $a=0 dan $a=$a+1 pada setiap kali pemanggilan fungsi coba(). Namun dengan membuat $a sebagai static variable, nilai dari $a akan terus dipertahankan sepanjang pemrosesan halaman oleh PHP.
Konsep tentang variabel scope, global variabel dan static variabel ini akan membantu kita dalam memahami cara kerja fungsi dalam PHP.
0 komentar:
Posting Komentar