Apa Perbedaan Antara Public, Private, dan Protected di PHP

Apa Perbedaan Antara Public Private Dan Protected Di Php



PHP banyak digunakan untuk mengembangkan situs web dinamis dan aplikasi web. PHP menyediakan kata kunci yang dikenal sebagai pengubah akses . Properti pengubah akses digunakan untuk mengakses variabel, kelas, atau properti kelas dalam tiga cara berbeda, seperti publik , pribadi, Dan terlindung . Pada artikel ini, kita akan membahas pengubah akses ini dan menentukan perbedaan antara ketiga pengubah akses ini dalam bahasa pemrograman PHP.

Apa itu Pengubah Akses di PHP?

Dalam pengubah akses PHP sangat penting karena memberi pengguna kemampuan untuk mengatur visibilitas serta aksesibilitas atribut dan metode kelas. Akibatnya, ini menyediakan enkapsulasi dan keamanan data, dan karenanya, anggota kelas dilindungi dari akses atau perubahan yang tidak sah. Juga, itu membuat pemeliharaan kode dan debugging lebih mudah.







Jenis Pengubah Akses

Tiga pengubah akses yang ada di PHP dibahas di bawah ini:



  • Publik: Anda dapat mengakses metode publik dari luar kelas. Ini menyiratkan bahwa kode apa pun dapat mengakses, mengubah, dan memanggil metode publik.
  • Pribadi: Untuk mengakses metode privat dibatasi pada kelas itu sendiri. Ini menyiratkan bahwa tidak ada kode lain, bahkan jika itu adalah kelas anak, yang diizinkan untuk mengakses metode privat atau membaca nilai privat.
  • Terlindung: Metode yang dilindungi hanya dapat diakses di dalam kelas dan kelas yang terkait dengannya; itu tidak dapat digunakan di luar kelas-kelas itu. Kode sumber apa pun yang perlu mengakses instance kelas dapat membaca atau mengubah data properti yang dilindungi atau menjalankan fungsi yang dilindungi.

Perbedaan Antara Pengubah Akses Publik, Pribadi, dan Terlindungi di PHP

Properti Publik Pribadi Terlindung
Aksesibilitas Pengubah akses ini dapat diakses di mana saja seperti di dalam dan di luar kode. Penentu akses pribadi hanya dapat diakses di dalam kelas. Itu bisa diakses di dalam kelas dan kelas (anak) terkait, dan metodenya.
Fleksibilitas Fleksibilitas terbesar ditawarkan oleh sumber daya publik karena dapat diakses dari mana saja. Karena mereka dapat diakses secara eksklusif di dalam kelas, metode ini menawarkan fleksibilitas paling sedikit. Metode yang dilindungi memberikan fleksibilitas sedang karena kelas anak dapat mengakses metode ini.
Enkapsulasi Kode lain dapat mengakses atau mengenkapsulasi metode publik, tetapi pemrogram memiliki kendali atas hal ini. Metode privat dienkapsulasi di dalam kelas, membuat kode luar tidak mungkin mengakses atau memperbaruinya. Proses enkapsulasinya sama dengan metode publik di PHP.
Keamanan Metode publik dapat diakses dari mana saja. Jadi, mereka memberikan tingkat keamanan yang rendah dalam kode. Tingkat keamanan maksimum disediakan oleh pengubah akses pribadi karena mereka benar-benar terkandung di dalam kelas. Karena mereka hanya dapat diakses oleh anggota kelas dan subkelasnya, pengubah akses yang dilindungi menawarkan tingkat keamanan yang wajar.

Mari kita lihat perbedaan antara penentu akses ini menggunakan contoh program sederhana di PHP.



Contoh: Program PHP dengan Pengubah Akses Pribadi, Publik, dan Terlindungi





Contoh berikut menunjukkan perbedaan antara publik, privat, dan dilindungi dalam satu kode contoh:

< ?php
kelas MyClass {
publik $publik = 'Variabel publik. \N ' ; // Dapat diakses dari mana saja
pribadi $pribadi = 'Variabel pribadi. \N ' ; // Hanya dapat diakses dari dalam kelas
terlindung $dilindungi = 'Variabel yang dilindungi.' ; // Dapat diakses di dalam kelas dan subkelas apa pun

publik fungsi getPrivate ( ) {
kembali $ini - > pribadi;
}

publik fungsi getProtected ( ) {
kembali $ini - > terlindung;
}
}
$obj = Kelasku baru ( ) ;

gema $obj - > publik;
gema $obj - > getPrivate ( ) ;
gema $obj - > getProtected ( ) ;
? >



Dalam program di atas, kami mendefinisikan kelas sebagai Kelasku dengan barang publik sebagai $publik yang bisa mengakses di mana saja dalam kode, milik pribadi sebagai $pribadi , dan properti yang dilindungi disebut $dilindungi , karenanya kami tidak dapat mengakses penentu pribadi dan dilindungi langsung dari luar kelas. Saat kami menggunakan dua metode publik yang disebut getPrivate() Dan getProtected() yang mengembalikan nilai variabel properti privat dan dilindungi, masing-masing, dan hasilnya diberikan di bawah ini:

Kesimpulan

PHP menawarkan banyak fungsi dan salah satunya adalah kata kunci yang disebut pengubah akses. Pengubah akses ini memberikan pola akses yang berbeda ke data kelas dalam program PHP. Dalam tutorial di atas, kita telah melihat perbedaan antara pengubah akses dalam hal aksesibilitas, enkapsulasi, fleksibilitas, dan keamanan yang ditawarkan di PHP.