Promo Member Baru 40%! Program Full Stack Membership! Hanya 3 Hari! Klaim Promo

operator yang digunakan

Ditanyakan pada tanggal 16 January 2020 oleh Chaerul Marwan

dalam penjelasan dijelaskan bahwa kita diharuskan menggunakan operator :: bukan ->, tapi kenapa dalam contoh yg terakhir ada yg menggunakan operator ->? ini kode program yg ada di contoh:

$st1 = new StaticTester();
StaticTester::checkIdFromStaticMehod();
$st2 = new StaticTester();
$st1->checkIdFromNonStaticMethod(); //returns the val of $id as 2
$st1->checkIdFromStaticMehod();
$st2->checkIdFromNonStaticMethod();
$st3 = new StaticTester();
StaticTester::checkIdFromStaticMehod();

dalam kode program tersebut ada baris seperti ini $st1->checkIdFromStaticMehod();.

1 JAWABAN / 0 KOMENTAR

User avatar
Bagus Aji Santoso menjawab pada tanggal 16 January 2020

Method static memang diakses dengan ::, tapi bukan berarti dia tidak bisa dipanggil dengan ->.

Jika ingin memanggil dengan :: maka kamu tidak perlu membuat objek baru, tapi kalau sudah ada objeknya bisa dipanggil dengan ->. Perhatikan bahwa dengan memanggil lewat pemanggilan status kamu tidak memanggil __construct sehingga nilai variabel static tidak berubah.