Apakah Perbezaan Antara Awam, Swasta dan Dilindungi dalam PHP

Apakah Perbezaan Antara Awam Swasta Dan Dilindungi Dalam Php



PHP digunakan secara meluas untuk membangunkan laman web dinamik dan aplikasi web. PHP menyediakan kata kunci yang dikenali sebagai pengubahsuai akses . Sifat pengubah suai akses digunakan untuk mengakses sifat pembolehubah, kelas atau kelas dalam tiga cara berbeza, seperti awam , peribadi, dan dilindungi . Dalam artikel ini, kita akan membincangkan pengubah suai akses ini dan menentukan perbezaan antara tiga pengubah akses ini dalam bahasa pengaturcaraan PHP.

Apakah itu Pengubahsuai Akses dalam PHP?

Dalam PHP pengubah suai akses adalah penting kerana ia memberi pengguna keupayaan untuk mengawal keterlihatan serta kebolehcapaian atribut dan kaedah kelas. Akibatnya, ia menyediakan pengkapsulan dan keselamatan data, dan oleh itu, ahli kelas dilindungi daripada akses atau pengubahan yang tidak dibenarkan. Selain itu, ia menjadikan penyelenggaraan kod dan penyahpepijatan lebih mudah.







Jenis Pengubahsuai Akses

Tiga pengubah akses yang wujud dalam PHP dibincangkan di bawah:



  • Awam: Anda boleh mengakses kaedah awam dari luar kelas. Ini menunjukkan bahawa mana-mana kod boleh mengakses, menukar dan menggunakan kaedah awam.
  • Peribadi: Untuk mengakses kaedah persendirian adalah terhad kepada kelas itu sendiri. Ini menunjukkan bahawa tiada kod lain, walaupun ia adalah kelas kanak-kanak, dibenarkan untuk mengakses kaedah persendirian atau membaca nilai persendirian.
  • Dilindungi: Kaedah yang dilindungi hanya boleh diakses di dalam kelas dan kelas yang berkaitan dengannya; ia tidak boleh digunakan di luar kelas tersebut. Mana-mana kod sumber yang perlu mengakses contoh kelas boleh membaca atau mengubah data harta yang dilindungi atau menggunakan fungsi yang dilindungi.

Perbezaan Antara Pengubahsuai Akses Awam, Persendirian dan Dilindungi dalam PHP

Harta benda Awam Persendirian Dilindungi
Kebolehcapaian Pengubah suai akses ini boleh diakses di mana-mana sahaja seperti di dalam dan di luar kod. Penentu akses peribadi hanya boleh diakses dalam kelas. Ia boleh diakses di dalam kelas dan kelas dan kaedah yang berkaitan(anak).
Fleksibiliti Fleksibiliti yang paling banyak ditawarkan oleh sumber awam kerana ia boleh diakses dari mana-mana sahaja. Memandangkan mereka boleh diakses secara eksklusif dalam kelas, kaedah ini menawarkan fleksibiliti yang paling sedikit. Kaedah yang dilindungi memberikan fleksibiliti sederhana kerana kelas kanak-kanak boleh mengakses kaedah ini.
Enkapsulasi Kod lain boleh mengakses atau merangkum kaedah awam, tetapi pengaturcara mempunyai kawalan ke atas ini. Kaedah persendirian dirangkumkan di dalam kelas, menjadikannya mustahil untuk kod luar mengakses atau mengemas kininya. Proses enkapsulasinya adalah sama seperti kaedah awam dalam PHP.
Keselamatan Kaedah awam boleh diakses dari mana-mana sahaja. Jadi, mereka menyediakan tahap keselamatan yang rendah dalam kod. Tahap keselamatan maksimum disediakan oleh pengubah akses peribadi kerana ia terkandung sepenuhnya dalam kelas. Memandangkan mereka hanya boleh diakses oleh ahli kelas dan subkelasnya, pengubah akses yang dilindungi menawarkan tahap keselamatan yang munasabah.

Mari lihat perbezaan antara penentu akses ini menggunakan contoh program mudah dalam PHP.



Contoh: Program PHP dengan Pengubah Suai Akses Peribadi, Awam dan Dilindungi





Contoh berikut menunjukkan perbezaan antara awam, peribadi dan dilindungi dalam satu contoh kod:

< ?php
kelas MyClass {
awam $awam = 'Pembolehubah awam. \n ' ; // Boleh diakses dari mana-mana sahaja
persendirian $peribadi = 'Pembolehubah peribadi. \n ' ; // Hanya boleh diakses dari dalam kelas
dilindungi $dilindungi = 'Pembolehubah-dilindungi.' ; // Boleh diakses dalam kelas dan mana-mana subkelas

awam fungsi getPrivate ( ) {
kembali $ini - > persendirian;
}

awam fungsi getProtected ( ) {
kembali $ini - > dilindungi;
}
}
$obj = MyClass baharu ( ) ;

bergema $obj - > awam;
bergema $obj - > getPrivate ( ) ;
bergema $obj - > getProtected ( ) ;
? >



Dalam program di atas, kami mentakrifkan kelas sebagai Kelas saya dengan harta awam sebagai $awam yang boleh mengakses mana-mana dalam kod, harta peribadi sebagai $peribadi , dan harta yang dilindungi dipanggil $dilindungi , oleh itu kami tidak boleh mengakses penentu peribadi dan dilindungi secara langsung dari luar kelas. Seperti yang kita gunakan dua kaedah awam dipanggil getPrivate() dan getProtected() yang mengembalikan nilai pembolehubah sifat persendirian dan dilindungi, masing-masing, dan output diberikan di bawah:

Kesimpulan

PHP menawarkan banyak fungsi dan salah satu daripadanya ialah kata kunci yang dipanggil pengubah akses. Pengubah suai akses ini menyediakan corak akses yang berbeza kepada data kelas dalam program PHP. Dalam tutorial di atas, kami telah melihat perbezaan antara pengubah suai akses dari segi kebolehcapaian, enkapsulasi, fleksibiliti dan keselamatan yang ditawarkan dalam PHP.