Pengertian Variabel Scope

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

?>

Pada baris ke-2, saya mendefenisikan variabel $a, dan memberikan nilai awal = 5. Pada baris ke-4 saya membuat fungsi coba() dan mendefenisikan kembali variabel $a yang kali ini nilainya adalah 10, dan juga membuat sebuah variabel baru, yakni $b.
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.
Next PostPosting Lebih Baru Previous PostPosting Lama Beranda

0 komentar:

Posting Komentar