Cara mengakses properti yang dilindungi di php

Kata kunci pada dasarnya adalah kumpulan kata-kata khusus yang dicadangkan di setiap bahasa pemrograman untuk tujuan tertentu. Mereka dapat berupa perintah atau parameter dan tidak dapat digunakan untuk penggunaan umum seperti nama variabel. Dilindungi dalam PHP sudah ditentukan sebelumnya dalam semua bahasa termasuk PHP dan juga disebut nama yang dicadangkan

Paket Pengembangan Perangkat Lunak Semua dalam Satu(600+ Kursus, 50+ proyek)

Cara mengakses properti yang dilindungi di php
Cara mengakses properti yang dilindungi di php
Cara mengakses properti yang dilindungi di php
Cara mengakses properti yang dilindungi di php

Cara mengakses properti yang dilindungi di php
Cara mengakses properti yang dilindungi di php
Cara mengakses properti yang dilindungi di php
Cara mengakses properti yang dilindungi di php

Harga
Lihat Kursus

600+ Kursus Daring. 50+ proyek. 3000+ Jam. Sertifikat yang Dapat Diverifikasi. Akses Seumur Hidup
4. 6 (86.198 peringkat)

Ada 5 jenis pengubah akses di PHP

Mulai Kursus Pengembangan Perangkat Lunak Gratis Anda

Pengembangan web, bahasa pemrograman, pengujian Perangkat Lunak & lainnya

  • Publik
  • Pribadi
  • Terlindung
  • Abstrak
  • Terakhir

Kami akan berkonsentrasi hanya pada pengubah akses yang dilindungi dalam artikel ini. Selain variabel, kata kunci yang dilindungi juga digunakan untuk mendeklarasikan metode/fungsi dan properti sebagai yang dilindungi. Kecuali ditentukan secara eksplisit, semua variabel dan metode akan bersifat publik secara default. Variabel yang dilindungi mengurangi visibilitas variabel atau metode terkait karena aksesnya terbatas pada kelas yang dideklarasikan. Pengubah akses yang dilindungi tidak dapat diterapkan untuk kelas

Namun, mereka dapat dipanggil oleh subclass yang diwariskan dari kelas induknya. Karenanya seseorang dapat mendeklarasikan metode atau variabel yang diperlukan sebagai dilindungi dengan mengawalinya dengan kata kunci "dilindungi".

Sintaksis

<?php
//declaration of protected variable
protected $<variable_name> = value;
//declaration of protected property
protected $proc = 'protected property';
//declaration of protected function
protected function function_name(){
//PHP code goes here
}
?>

Di sini kita dapat melihat bahwa menggunakan kata kunci yang dilindungi, kita mendeklarasikan nama variabel dan fungsi

Kerja pengubah yang dilindungi di PHP. Seperti pengubah akses privat, kita juga dapat menggunakan protected untuk membatasi penggunaan dan pengaksesan fungsi kelas dan variabel di luar kelas. Tapi satu pengecualian dari variabel privat yang dilindungi adalah bahwa mereka dapat diakses melalui pewarisan dari kelas induknya di subkelas

Contoh Variabel dan Metode Terproteksi

Mari kita pahami penggunaan dan cara kerja protected modifier secara detail dengan mengambil contoh sederhana di bawah ini

Contoh 1

Kode

<?php
// Declaration of Main class
class Math {
protected $a = 30;
protected $b = 10;
// Declaration of division function
function division()
{
echo $div=$this->a/$this->b;
echo "\n";
}
protected function multiply()
{
echo $mul=$this->a*$this->b;
echo "\n";
}
}
// Declaration of child class addn inherited from above class
class addn extends Math {
// Declaration of addition function
function addition()
{
echo $division=$this->a+$this->b;
}
}
$obj= new addn;
$obj->division();
$obj->addition();
$obj->multiply();
?>
_

Keluaran

Cara mengakses properti yang dilindungi di php

Setelah mengomentari baris 29 yang mencoba memanggil metode yang dilindungi

Cara mengakses properti yang dilindungi di php

Dalam contoh di atas, kami menampilkan berbagai operasi matematika seperti penjumlahan, pembagian, dan perkalian. Pertama, kita mendeklarasikan fungsi division() tanpa pengubah akses apa pun. Karenanya secara default, ini adalah publik dan nilai pembagian yang kami lakukan pada kedua variabel a dan b ditampilkan di output saat kami memanggil fungsi dengan membuat objeknya. Tetapi ketika kami mencoba untuk memanggil fungsi yang dilindungi multiply() kami mendapatkan kesalahan inline 34 yang mengatakan bahwa metode yang dilindungi tidak dapat dipanggil

Sedangkan kita bisa memanggil dan mendapatkan nilai dari metode yang dilindungi melalui pewarisan seperti yang ditunjukkan. Di sini kelas anak dan diwarisi dari kelas induk Math dan karenanya kami dapat memanggil variabel yang dilindungi a dan b tanpa kesalahan

Contoh #2

Kode

<?php
class Animal {
// Declaration of protected variable $animal
protected $animal = array("Dog", "Cat", "Cow");
// Declaration of protected function for Animal description
protected function getDescription($animal) {
if($animal == "Dog") {
echo "Dogs are the most loyal animals";
}
else if($animal == "Cat") {
echo "Cats are very smart";
}
else if($animal == "Cow") {
echo "Cows are worshipped in India";
}
}
}
// Declaration of sub class of above Animal class
class Dog extends Animal {
protected $animal = "Dog";
// Declaration of public function to print dog's description
public function getDogDescription() {
// Here we call the protected getDescription() method of parent class Animal
$this->getDescription($this->animal);
}
}
// Creating an object of class Animal
$animal = new Animal();
// Creating an object of subclass Dog
$dog = new Dog();
/*
Trying to access protected variables and methods
*/
echo $animal->animal; // Cannot be accessed
$animal->getDescription("Dog"); // Cannot be accessed
echo $dog->animal; // Cannot be accessed
/*
We can call getDogDescription method,
in which we are calling a protected method
of Animal class
*/
$dog->getDogDescription();
?>

Keluaran

Cara mengakses properti yang dilindungi di php

Setelah mengomentari baris 34

Cara mengakses properti yang dilindungi di php

Setelah mengomentari baris 35 dan 36

Cara mengakses properti yang dilindungi di php

Dalam contoh ini, pertama-tama kita mendeklarasikan kelas induk utama Animal dan menginisialisasi variabel yang dilindungi sebagai $animal yang merupakan array yang berisi nama dari 3 hewan yang berbeda. Selanjutnya, kami juga mendeklarasikan fungsi yang dilindungi di mana kami memberikan deskripsi unik untuk setiap hewan dalam larik

Karena variabel yang dilindungi dapat diakses menggunakan subkelas, kami di sini membuat subkelas Anjing lain dari kelas induk Hewan. Juga untuk menunjukkan bahwa fungsi publik dapat diakses di mana saja, kami mendeklarasikan fungsi publik untuk menampilkan deskripsi variabel anjing

Selanjutnya, kami membuat objek dari kedua kelas Hewan dan Anjing dan mencoba mengakses variabel mereka yang dilindungi. Oleh karena itu untuk baris 40, 41 dan 42, kami mendapatkan kesalahan fatal yang mengatakan bahwa properti/metode/variabel yang dilindungi tidak dapat diakses. Karenanya kami tidak dapat mengakses variabel apa pun di luar kelas Hewan karena semuanya dilindungi

Pentingnya Dilindungi di PHP

  • Pengubah yang dilindungi pada dasarnya mengurangi visibilitas variabel/metode dan karenanya lebih aman daripada pengubah akses publik yang dapat diakses di mana saja
  • Hanya subclass yang dapat mengakses metode yang dilindungi dan bukan oleh kelas mana pun
  • Utilitas kelas menjadi sangat jelas saat kita menjadikannya sebagai terproteksi. Ini sangat membantu ketika ada banyak data dan kami perlu memberi tanda yang pasti untuk yang satu ini
  • Variabel dan anggota yang dilindungi bersifat publik untuk kelas tempat mereka dideklarasikan dan juga kelas anak yang mewarisi properti ini dari kelas induk
  • Ini memberikan keamanan tingkat kedua, yang kurang dari pribadi yang paling aman dan di samping pengubah publik yang tidak begitu aman
  • Ini membantu pengembang mendeskripsikan anggota yang dapat dibagikan dan yang tidak dapat dibagikan serta membantu membatasi mereka di dalam dinding kelas

Kesimpulan

Karenanya variabel yang dilindungi adalah pengubah akses yang digunakan untuk mengontrol variabel atau metode atau properti yang ditentukan secara khusus dalam suatu kelas. Itu perlu ditentukan secara eksplisit dengan awalan dan karenanya hanya dapat diakses di dalam paket yang dideklarasikan dan oleh subkelas yang mewarisi dari paket induk

Artikel yang Direkomendasikan

Ini adalah panduan untuk Dilindungi di PHP. Di sini kita membahas pengantar, sintaks, dan contoh Variabel Terlindungi di PHP bersama dengan berbagai contoh dan pentingnya. Anda juga dapat membaca artikel kami yang lain yang disarankan untuk mempelajari lebih lanjut–

Bagaimana cara mengakses fungsi yang dilindungi di PHP?

Kata kunci yang dilindungi adalah pengubah akses . Itu menandai properti atau metode sebagai dilindungi. Properti dan metode yang dilindungi hanya dapat digunakan oleh kelas di mana properti atau metode didefinisikan dan kelas apa pun yang berasal darinya. Kode lain tidak dapat menggunakannya.

Bagaimana cara mengakses properti pribadi di PHP?

php gunakan PhpPrivateAccess \MyClass; . $penutupan = \Penutupan. bind(function (MyClass $class) { return $class->property; }, null, MyClass. kelas); . "

Bagaimana cara mendapatkan nilai yang dilindungi dari objek di PHP?

Properti pribadi dan dilindungi dapat diakses oleh ReflectionProperty. getValue() segera. Sebelumnya, mereka perlu dibuat dapat diakses dengan memanggil ReflectionProperty. setAccessible(); . objek dapat dibatalkan sekarang.

Bagaimana cara menggunakan variabel yang dilindungi di PHP?

Pengubah akses yang dilindungi tidak dapat diterapkan untuk kelas. Namun, mereka dapat dipanggil oleh subclass yang diwariskan dari kelas induknya. Karenanya seseorang dapat mendeklarasikan metode atau variabel yang diperlukan sebagai dilindungi dengan mengawalinya dengan kata kunci "terlindungi" .