Cara menggunakan self in php

Mengenal Static Keyword PHP – Haloo semua nya, kali ini kita akan coba berkenalan dengan yang nama nya static keyword pada bahasa pemrograman PHP

Daftar Isi

Mengenal Static Keyword PHP

Apa itu static keyword?

Static keyword adalah sebuah kata kunci yang bisa kita gunakan untuk membuat property dan juga membuat method/function didalam sebuah class yang bisa kita akses secara langsung tanpa harus membuat object nya terlebih dahulu atau tanpa harus menginstansiasi class nya terlebih dahulu..

Yang perlu kalian perhatikan

Tapi perlu kalian ketahui juga bahwa setiap kali kita membuat static method/function, maka function tersebut akan berdiri sendiri, terpisah dari instansiasi kelas tersebut dan tidak dapat mengakses object2 lain yang ada didalam class tersebut.

Termasuk mengakses function biasa didalam 1 class yang sama pun tidak bisa..

Jadi sebetulnya static keyword ini bisa dikatakan sudah keluar dari konsep OOP, karena sudah tidak berhubungan lagi dengan object2 yang ada didalam class nya..

Untuk cara pemanggilan nya pun simple sekali, kita tidak perlu menginstansiasi class nya terlebih dahulu, atau tidak perlu membuat object terlebih dahulu dari class tersebut.

Trending

Tutorial Lengkap Integrasi Laravel Dengan Payment Gateway Xendit

Cara pemanggilan nya sama seperti saat kita memanggil constanta, yaitu menggunakan double colon (::).

Contoh Pembuatan Static Keyword

Untuk menggunakan static keyword, kita hanya perlu menambahkan keyword static setelah visibility property/method tersebut.

Agar lebih mudah dipahami, kita langsung masuk ke praktek nya saja, contoh:

<?php

class Kendaraan
{
    public static $harga; // static property

    public static function getMerk() // static method
    {
        return 'Suzuki';
    }
}

Kalian coba perhatikan script diatas, saya membuat sebuah class dengan nama Kendaraan.

Kemudian pada baris ke-5 adalah contoh pembuatan static property dengan nama $harga.

Dan pada baris ke-7 adalah contoh pembuatan static method dengan nama getMerk().

Visibility untuk property dan method diatas adalah bersifat public, dan setelah visibility tersebut, kita menambahkan keyword static.

Cara pemanggilan method static / property static

Setiap method atau property yang dipasangi dengan kata kunci static, maka method/property tersebut akan menempel langsung kepada class nya, bukan kepada instance class nya.

Jadi kita tidak perlu membuat object nya terlebih dahulu, bisa langsung kita panggil dengan menggunakan double colon (::) seperti pemanggilan pada constanta.

Contoh:

<?php

class Kendaraan
{
    public static $harga = 5000; // static property

    public static function getMerk() // static method
    {
        return 'Suzuki';
    }
}

echo Kendaraan::getMerk(); // Suzuki
echo Kendaraan::$harga; // 5000

Coba kalian perhatikan script diatas.

Pada baris ke-13 adalah contoh pemanggilan method static, dan pada baris ke-14 adalah contoh pemanggilan property static.

Method biasa dan method static dalam 1 class

Apakah bisa method static dan method biasa digabungkan dalam 1 class?

Jawaban nya bisa,Method biasa dan method static bisa digabungkan dalam 1 class.

Jadi dalam 1 class isinya ga harus method static semua, atau method biasa semua, keduanya bisa digabungkan dalam 1 class yang sama.

Contoh:

<?php

class Kendaraan
{
    public static $harga = 5000; // static property
    public $warna = 'merah'; // property biasa/object

    public static function getMerk() // static method
    {
        return 'Suzuki';
    }

    public function getJenis() // method biasa
    {
        return 'City Car';
    }
}

Cara memanggil method static dari method biasa di class yang sama

Kita juga bisa memanggil method static dari method biasa didalam class yang sama dengan menggunakan kata kunci self.

Contoh:

<?php

class Kendaraan
{
    public static $harga = 5000; // static property
    public $warna = 'merah'; // property biasa/object

    public static function getMerk() // static method
    {
        return 'Suzuki';
    }

    public function getJenis() // method biasa
    {
        return 'City Car';
    }

    public function setCar()
    {
        $merk = self::getMerk(); // memanggil static method getMerk dengan keyword self
        return $merk;
    }
}

Coba kalian perhatikan script diatas, pada baris ke-18 saya membuat sebuah method biasa dengan nama setCar().

Dan didalam method tersebut, saya memanggil method static getMerk() dengan menggunakan kata kunci self.

Memanggil method static dari class yang lain

Kita juga bisa memanggil sebuah method static dari class yang lain asalkan visibility dari method tersebut bersifat public.

Contoh:

<?php

   class motor
   {
       public static function merk()
       {
           echo "Honda";
       }
   }

   class mobil
   {
       public function getMerkMotor()
       {
           motor::merk();
       }
   }

Pada contoh diatas terdapat 2 buah class, yaitu class motor dan class mobil.

Dimana pada class motor terdapat sebuah method static dengan nama merk().

Dan didalam class mobil, terdapat sebuah method biasa dengan nama getMerkMotor() yang didalam nya memanggil method static merk() dari class motor.

Memanggil method static dari class turunan nya

Method static juga bisa dipanggil dari class turunan nya dengan menggunakan kata kunci parent.

Tapi syarat nya yaitu visibility untuk method/function tersebut harus bersifat public atau protected.

Contoh:

<?php
   class kendaraan
   {
       protected static function jenis()
       {
           return "mobil";
       }
   }

   class bahanbakar extends kendaraan
   {
       public $nama_bbm;
       public function jenisKendaraan()
       {
           $this->nama_bbm = parent::jenis();
       }
   }

   $bbm = new bahanbakar;
   echo $bbm->nama_bbm;

Pada script diatas terdapat 2 buah class yaitu class kendaraan dan class bahanbakar.

Yang mana pada baris ke-10 saat kita mendeklarasikan class bahanbakar, kita juga meng-extends class kendaraan sebagai parent class nya.

Ini artinya class bahanbakar adalah child class dari class kendaraan, dan class kendaraan adalah parent class dari class bahanbakar.

Didalam class bahanbakar terdapat sebuah method dengan nama jenisKendaraan(), yang mana didalam method tersebut, kita memanggil method static jenis() yang ada didalam class parent nya (kendaraan) dengan menggunakan kata kunci parent.

Jadi itu tadi sekilas pembahasan tentang static keyword pada PHP, mudah bukan?

Support Us

Jika artikel ini bermanfaat untuk kamu, membantu menyelesaikan masalah yang sedang kamu hadapi, kamu juga bisa dukung kami dengan mengunjungi halaman berikut: https://saweria.co/sangcahayaid

Apa perbedaan Keyword this dan self?

Dalam bahasa yang sangat sederhana $this digunakan untuk mereferensikan property atau method yang berada dalam current object. Sedangkan self digunakan untuk mereferensikan property atau method yang berada dalam current class.

Apa itu $this di PHP?

Apa itu variabel $this ? dan fungsinya untuk apa ?. Variabel $this merupakan variabel khusus PHP dalam OOP yang digunakan untuk menunjuk sebuah objek, ketika kita mau mengaksesnya dalam sebuah class. $this juga sering disebut dengan pseuo-variable.

Apa itu static di PHP?

Static property dan static method adalah property dan method yang langsung dapat diakses dari class tanpa instansiasi class (pembuatan object) terlebih dahulu. Cara mendeklarasikannya yaitu property atau method diawali menggunakan keyword static .

Apa itu method di PHP?

Mudahnya method adalah function yang berada di dalam suatu class. Ketika membuat function di luar class maka disebut function, namun ketika membuat function di dalam class maka disebut method. Semua sifat-sifat function bisa diterapkan ke dalam method, seperti parameter, mengembalikan nilai, dan lain-lain.