nogkingopi.com – Lingkup merujuk pada bagian kode di mana sebuah variabel dapat diakses atau terlihat. Dalam PHP, lingkup variabel ditentukan oleh konteks di mana variabel tersebut didefinisikan.
BACA JUGA : Tipe Data pada PHP
PHP menyediakan berbagai jenis lingkup, termasuk global scope, function scope, class scope, dan superglobal scope.
1. Global Scope
Lingkup global dalam PHP merujuk pada level terluar dari sebuah skrip, di luar fungsi atau kelas manapun. Variabel yang didefinisikan dalam lingkup global dapat diakses dari mana saja dalam skrip, termasuk di dalam fungsi dan kelas.
$variabelGlobal = 10; // Variabel didefinisikan dalam lingkup global
function beberapaFungsi() {
echo $variabelGlobal; // Mengakses variabel global dalam sebuah fungsi
}
beberapaFungsi(); // Output: 10
Untuk mengakses variabel global dari dalam sebuah fungsi atau metode kelas, dapat digunakan kata kunci global
.
$variabelGlobal = 10;
function beberapaFungsi() {
global $variabelGlobal;
echo $variabelGlobal;
}
beberapaFungsi(); // Output: 10
2. Function Scope
Variabel yang didefinisikan dalam sebuah fungsi hanya dapat diakses dalam lingkup fungsi tersebut. Mereka tidak terlihat di luar fungsi tersebut, termasuk dalam lingkup global atau dalam fungsi lain.
function beberapaFungsi() {
$variabelLokal = 20; // Variabel didefinisikan dalam lingkup fungsi
echo $variabelLokal;
}
beberapaFungsi(); // Output: 20
echo $variabelLokal; // Error: Variabel tidak terdefinisi
3. Class Scope
Dalam PHP, kelas mendefinisikan lingkup sendiri untuk properti dan metode. Properti kelas dapat diakses dari mana saja dalam kelas tersebut menggunakan kata kunci self
, tanpa perlu instance dari kelas.
class KelasSaya {
public $properti = 'Halo'; // Properti didefinisikan dalam lingkup kelas
public function beberapaMetode() {
echo $this->properti; // Mengakses properti kelas dalam sebuah metode
}
}
$obj = new KelasSaya();
echo $obj->properti; // Output: Halo
$obj->beberapaMetode(); // Output: Halo
Properti statis dalam sebuah kelas dapat diakses tanpa instance kelas menggunakan sintaks NamaKelas::$namaProperti
.
class BeberapaKelas {
public static $counter = 0; // Properti statis didefinisikan dalam lingkup kelas
}
BeberapaKelas::$counter += 1; // Mengakses properti statis secara langsung
echo BeberapaKelas::$counter; // Output: 1
4. Superglobal Scope
PHP menyediakan sejumlah variabel bawaan yang disebut superglobal yang dapat diakses dari mana saja dalam skrip. Variabel ini secara otomatis tersedia dan tidak memerlukan penggunaan kata kunci global
.
Salah satu contohnya adalah superglobal $_POST
, yang berisi data yang dikirim melalui permintaan HTTP dengan metode POST.
function dapatkanNilaiPost($kunci, $default = null) {
if (isset($_POST[$kunci])) {
return $_POST[$kunci];
}
return $default;
}
echo dapatkanNilaiPost('username'); // Mengambil $_POST['username']
echo dapatkanNilaiPost('email', ''); // Mengambil $_POST['email'] dengan nilai default berupa string kosong
Superglobal lain yang sering digunakan meliputi $_GET
, $_SESSION
, $_COOKIE
, dan $_SERVER
.
BACA JUGA : Variabel Dinamis dalam PHP
Memahami variable scope sangat penting untuk menulis kode PHP yang efektif dan mudah dipelihara. Dengan mendefinisikan dan mengakses variabel dalam lingkup yang tepat, Anda dapat memastikan kejelasan kode dan menghindari konflik penamaan variabel.