Static, Parent dan Self adalah keyword pada PHP OOP yang merupakan perintah dalam membuat dan menangani sebuah static properti atau static method didalam class. Keyword "static" dipakai saat membuat static properti atau static method sedangkan keyword "parent" dan "self" dipakai untuk mengakses properti atau method tersebut didalam class dan class turunannya.
Keuntungan dari membuat static properti dan static method adalah kita bisa mengaksesnya tanpa membuat instantisasi object. Hal ini telah dibahas pada tulisan sebelumnya tentang operator Scope Resolution (::) .
Membuat Static Properti dan Static Method
Disini saya admin johan andy agasi Blog akan memberikan cotoh pembutan static. Untuk membuat static properti dan static method kita menggunakan keyword "static". Kita juga bisa menggunakan teknik enkapsulasi seperti public, private dan protected dalam membuat static properti dan static method.
Membuat Static Properti
- class Classname {
- public static $var = Value;
- }
- class Classname {
- public static function aStaticMethod() {
- // ...
- }
- }
- <?php
- class Sekolah
- {
- public static $namaSekolah = 'SMPN 1 WELAHAN';
- public static function showSekolah() {
- return self::$namaSekolah;
- }
- }
- ?>
Dalam mengakses static properti dan static method kita menggunakan operator scope resolution (::). Kita bisa mengakses static properti dan static method didalam dan diluar class. Untuk mengakses dari luar class kita gunakan nama class, operator :: dan nama static, contoh : MyClass::CONSTANT.
Dan untuk mengakses static properti dan static method didalam class kita gunakan keyword "self". Untuk mengakses static properti dan static method pada class induk (diakses dari class turunan) kita gunakan keyword "parent". Dengan demikian kita tidak perlu menggunakan variabel $this saat akan mengakses static properti dan static method didalam class.
Mengakses Static Properti dan Static Method pada class (Induk)
- <?php
- class Sekolah {
- public static $namaSekolah = 'SMPN 1 WELAHAN';
- public function showSekolah() {
- return self::$namaSekolah;
- }
- }
- //mengakses static properti secara langsung
- print Sekolah::$namaSekolah . "<br/>";
- //mengakses static properti dengan static method
- print Sekolah::showSekolah() . "<br/>";
- ?>
- <?php
- class Sekolah
- {
- public static $namaSekolah = 'SMPN 1 WELAHAN';
- public static function showSekolah() {
- return self::$namaSekolah;
- }
- }
- class Siswa extends Sekolah
- {
- public static $namaSiswa = 'SABRINA';
- public static function showSiswa() {
- return self::$namaSiswa ." dari ".parent::$namaSekolah;
- }
- }
- //mengakses static properti class induk secara langsung
- print Sekolah::$namaSekolah . "<br/>";
- //mengakses static properti class induk dengan method
- print Sekolah::showSekolah() . "<br/>";
- //mengakses static properti class anak secara langsung
- print Siswa::$namaSiswa . "<br/>";
- //mengakses static properti class induk dan class anak dengan method
- print Siswa::showSiswa() . "<br/>";
- ?>
Pada class Sekolah terdapat sebuah static properti $namaSekolah dan static method showSekolah(). Pada method showSekolah terlihat kita mengakses static properti $namaSekolah dengan keyword self.
Pada class Siswa yang merupakan turunan dari class Sekolah, sebuah static properti $namaSiswa dan static method showSiswa(). Pada method showSiswa ini terlihat kita mengakses dua buah static properti yaitu $namaSekolah dan $namaSiswa.
Karena berada pada class induk maka kita mengakses Statis properti $namaSekolah dengan keyword parent. Sementara untuk mengakses static properti $namaSiswa kita menggunakan keyword self. Apabila sobat kurang
Jika script diatas dijalankan akan tampil seperti ini :
SMPN 1 WELAHAN SMPN 1 WELAHAN SABRINA SABRINA dari SMPN 1 WELAHAN
0 Komentar untuk " Apa itu Static, Parent dan Self Dalam PHP? "