Hướng dẫn what is protected variable in php? - biến được bảo vệ trong php là gì?

Hướng dẫn what is protected variable in php? - biến được bảo vệ trong php là gì?

Giới thiệu về được bảo vệ trong PHP

Từ khóa về cơ bản là một tập hợp các từ đặc biệt được dành riêng trong mọi ngôn ngữ lập trình cho một mục đích cụ thể. Chúng có thể là các lệnh hoặc tham số và chúng không thể được sử dụng để sử dụng phổ biến như tên biến. Được bảo vệ trong PHP được xác định trước bằng tất cả các ngôn ngữ bao gồm PHP và còn được gọi là tên dành riêng.

Có 5 loại sửa đổi truy cập trong PHP:

  • Công cộng
  • Riêng tư
  • Được bảo vệ
  • trừu tượng
  • Cuối cùng

Chúng tôi sẽ chỉ tập trung vào các sửa đổi truy cập được bảo vệ trong bài viết này. Ngoài các biến, các từ khóa được bảo vệ cũng được sử dụng để khai báo các phương thức/hàm và thuộc tính như được bảo vệ. Trừ khi được chỉ định rõ ràng, tất cả các biến và phương thức sẽ được công khai theo mặc định. Biến được bảo vệ làm giảm khả năng hiển thị của biến hoặc phương thức tương ứng vì quyền truy cập của nó bị giới hạn trong lớp mà nó được khai báo. Các sửa đổi truy cập được bảo vệ không thể được áp dụng cho các lớp.

Tuy nhiên, chúng có thể được gọi bởi một lớp con được kế thừa từ lớp cha của nó. Do đó, người ta có thể khai báo phương thức cần thiết hoặc một biến được bảo vệ bằng cách tiền tố nó với một từ khóa được bảo vệ trên mạng.

Syntax::

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

Ở đây chúng ta có thể thấy rằng sử dụng từ khóa được bảo vệ, chúng ta đang khai báo cả tên biến và chức năng.

Hoạt động của các sửa đổi được bảo vệ trong PHP: Giống như công cụ sửa đổi truy cập riêng, chúng tôi cũng có thể sử dụng được bảo vệ để hạn chế việc sử dụng và truy cập các chức năng và biến của lớp bên ngoài lớp. Nhưng một ngoại lệ được bảo vệ khỏi các biến riêng tư là chúng có thể được truy cập thông qua kế thừa từ lớp cha của nó trong một lớp con.

Ví dụ về một biến và phương pháp được bảo vệ

Hãy cho chúng tôi hiểu sử dụng và làm việc của công cụ sửa đổi được bảo vệ một cách chi tiết bằng cách lấy một ví dụ đơn giản dưới đây:

Ví dụ 1

Code:

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();
?>

Output:

Hướng dẫn what is protected variable in php? - biến được bảo vệ trong php là gì?

Sau khi bình luận trên dòng 29 đang cố gắng gọi phương thức được bảo vệ

Hướng dẫn what is protected variable in php? - biến được bảo vệ trong php là gì?

Trong ví dụ trên, chúng tôi đang giới thiệu các hoạt động toán học khác nhau như bổ sung, phân chia và nhân. Đầu tiên, chúng tôi đang khai báo hàm Division () mà không có bất kỳ công cụ sửa đổi truy cập nào. Do đó, theo mặc định, nó là công khai và giá trị phân chia mà chúng tôi đang thực hiện trên cả hai biến A và B được hiển thị trong đầu ra khi chúng tôi gọi hàm bằng cách tạo đối tượng của nó. Nhưng khi chúng tôi cố gắng gọi hàm được bảo vệ nhân (), chúng tôi sẽ gặp lỗi nội tuyến 34 nói rằng phương thức được bảo vệ không thể được gọi.

Trong khi chúng ta có thể gọi và nhận giá trị của một phương thức được bảo vệ thông qua kế thừa như được hiển thị. Ở đây, lớp con và được kế thừa từ toán học lớp cha và do đó chúng tôi có thể gọi các biến được bảo vệ A và B mà không có bất kỳ lỗi nào.

Ví dụ #2

Code:

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();
?>

Output:

Hướng dẫn what is protected variable in php? - biến được bảo vệ trong php là gì?

Sau khi bình luận dòng 34

Hướng dẫn what is protected variable in php? - biến được bảo vệ trong php là gì?

Sau khi bình luận dòng 35 và 36

Hướng dẫn what is protected variable in php? - biến được bảo vệ trong php là gì?

Trong ví dụ này, trước tiên chúng tôi tuyên bố động vật lớp cha mẹ chính và khởi tạo một biến được bảo vệ là $ Animal, một mảng chứa tên của 3 động vật khác nhau. Tiếp theo, chúng tôi cũng đang tuyên bố một chức năng được bảo vệ trong đó chúng tôi đang đưa ra một mô tả độc đáo cho từng động vật trong mảng.

Vì các biến được bảo vệ có thể được truy cập bằng cách sử dụng lớp con, chúng tôi ở đây tạo ra một con chó con khác từ động vật lớp cha. Ngoài ra, để giới thiệu rằng các chức năng công cộng có thể được truy cập ở bất cứ đâu, chúng tôi tuyên bố một chức năng công cộng để đầu ra mô tả của chó.

Tiếp theo, chúng tôi tạo ra một đối tượng của cả hai lớp động vật và chó và cố gắng truy cập các biến của chúng được bảo vệ. Do đó, đối với các dòng 40, 41 và 42, chúng tôi gặp lỗi nghiêm trọng khi nói rằng các thuộc tính/phương thức/biến được bảo vệ không thể được truy cập. Do đó, chúng tôi không thể truy cập bất kỳ biến nào bên ngoài động vật lớp vì tất cả đều được bảo vệ.

Tầm quan trọng của được bảo vệ trong PHP

  • Công cụ sửa đổi được bảo vệ về cơ bản làm giảm khả năng hiển thị của biến/phương thức và do đó an toàn hơn so với công cụ sửa đổi truy cập công cộng có thể được truy cập ở bất cứ đâu.
  • Chỉ các lớp con mới có thể truy cập các phương thức được bảo vệ chứ không phải bởi bất kỳ lớp nào.
  • Tiện ích của lớp được làm rất rõ ràng khi chúng ta làm nó được bảo vệ. Điều này thực sự hữu ích khi có một loạt dữ liệu và chúng ta cần đặt một dấu hiệu xác định về điều này.
  • Các biến được bảo vệ và các thành viên được công khai cho lớp trong đó chúng được khai báo và cũng là lớp con của nó thừa hưởng thuộc tính này từ lớp cha.
  • Nó cung cấp bảo mật cấp thứ hai, ít hơn một mức riêng tư, an toàn nhất và bên cạnh các sửa đổi công khai không an toàn.
  • Nó giúp nhà phát triển mô tả các thành viên có thể chia sẻ và những người không chia sẻ và giúp giới hạn chúng trong các bức tường của lớp.

Sự kết luận

Do đó các biến được bảo vệ là các biến đổi truy cập được sử dụng để kiểm soát các biến hoặc phương thức hoặc thuộc tính được xác định cụ thể trong một lớp. Nó cần được chỉ định rõ ràng bằng tiền tố và do đó chỉ có thể được truy cập trong gói được khai báo và bởi một lớp con kế thừa từ gói cha mẹ.

Bài viết đề xuất

Đây là một hướng dẫn để được bảo vệ trong PHP. Ở đây chúng tôi thảo luận về phần giới thiệu, ví dụ về biến được bảo vệ và phương pháp và tầm quan trọng của được bảo vệ trong php. & Nbsp; bạn cũng có thể & nbsp; đi qua các bài viết được đề xuất khác của chúng tôi để tìm hiểu thêm

  1. Từ khóa được bảo vệ trong Java
  2. Chức năng mảng PHP
  3. Destructor trong PHP
  4. Được bảo vệ trong C#

Một biến được bảo vệ là gì?

Các biến được bảo vệ là những thành viên dữ liệu của một lớp có thể được truy cập trong lớp và các lớp có nguồn gốc từ lớp đó. Trong Python, không có sự tồn tại của các biến thể của trường hợp công cộng.those data members of a class that can be accessed within the class and the classes derived from that class. In Python, there is no existence of “Public” instance variables.

Được bảo vệ có nghĩa là gì trong PHP?

Được bảo vệ - thuộc tính hoặc phương thức có thể được truy cập trong lớp và bởi các lớp có nguồn gốc từ lớp đó.Riêng tư - Thuộc tính hoặc phương thức chỉ có thể được truy cập trong lớp.the property or method can be accessed within the class and by classes derived from that class. private - the property or method can ONLY be accessed within the class.

Chức năng được bảo vệ có nghĩa là gì?

.và thuật ngữ đó sẽ bao gồm cụ thể, nhưng không giới hạn trong bộ sưu tập ...any function, operation, or action carried out, under the laws of the United States, by any department, agency, or instrumentality of the United States or by an officer or employee thereof; and such term shall specifically include, but not be limited to, the collection ...

Tại sao các biến được bảo vệ?

Nếu việc sử dụng bị hạn chế, như được viết ở một vị trí rõ ràng trong lớp dẫn xuất và đọc ở một nơi rõ ràng trong lớp cơ sở, thì các biến được bảo vệ có thể làm cho mã rõ ràng và súc tích hơn.Nếu bạn bị cám dỗ để đọc và viết một biến sẽ biến trong suốt nhiều tệp, tốt hơn là nên gói gọn nó.can make the code more clear and concise. If you're tempted to read and write a variable willy-nilly throughout multiple files, it's better to encapsulate it.