Hướng dẫn what is protected access specifier in php? - chỉ định truy cập được bảo vệ trong php là gì?

Để đặt quyền truy cập cho các phương thức và biến lớp, chúng tôi sử dụng các sửa đổi truy cập không có gì ngoài các từ khóa PHP. Chúng tôi thậm chí có thể chỉ định một số bộ sửa đổi truy cập này cho bản thân lớp để làm cho lớp hoạt động theo một cách đặc biệt.

Sau đây là các từ khóa PHP được sử dụng làm bộ điều chỉnh truy cập cùng với ý nghĩa của chúng:keywords which are used as access modifiers along with their meaning:

  1. public: Khi chúng tôi xác định các thành viên lớp là công khai, thì họ có thể truy cập từ bất cứ đâu, ngay cả từ bên ngoài phạm vi lớp.
  2. private: Khi chúng tôi xác định các thành viên lớp là riêng tư, họ chỉ có thể được truy cập từ bên trong lớp.
  3. protected: Điều này giống như riêng tư, với một ngoại lệ, các thành viên lớp được xác định là được bảo vệ vẫn có thể được truy cập từ lớp con của nó [chúng ta sẽ tìm hiểu về các lớp con khi chúng ta sẽ tìm hiểu về kế thừa].
  4. 0: Từ khóa này chỉ được sử dụng cho các lớp PHP và các chức năng thành viên của nó.
  5. 1: Các phương thức lớp được xác định là cuối cùng, không thể thay đổi hoặc ghi đè bởi bất kỳ lớp con nào.

Khi nào nên sử dụng trình sửa đổi truy cập nào

Chúng tôi không thể sử dụng tất cả các sửa đổi truy cập có sẵn với lớp, varibales và phương thức của nó. Trong bảng bên dưới, chúng tôi đã chỉ định trình định thức truy cập nào được áp dụng cho những gì:

Modifer truy cậpcác lớp họcchức năngbiến
public Không áp dụngÁp dụngÁp dụng
private Không áp dụngÁp dụngÁp dụng
protected Không áp dụngÁp dụngÁp dụng
abstract Áp dụngÁp dụngKhông áp dụng
final Áp dụngÁp dụngKhông áp dụng

Áp dụng

Bây giờ chúng ta đã biết công cụ sửa đổi truy cập nào được sử dụng ở đâu, hãy tìm hiểu về các công cụ sửa đổi truy cập chi tiết cùng với các ví dụ.

public Công cụ sửa đổi truy cập

Nếu chúng tôi không chỉ định bất kỳ công cụ sửa đổi quyền truy cập nào, tất cả các lớp và các thành viên của nó được coi là public theo mặc định.

Như đã đề cập trong bảng trên, các sửa đổi truy cập public, private hoặc protected không thể được sử dụng với lớp. Hãy xem những gì xảy ra nếu chúng ta làm,

Lỗi phân tích cú pháp: lỗi cú pháp, 'công khai' [t_public] bất ngờ trong ...

Chúng tôi sẽ nhận được lỗi trên.

Nhưng đối với các phương thức và biến lớp, chúng tôi nên chỉ định các nhà xác định truy cập mặc dù theo mặc định, chúng được coi là công khai.

Đây là một ví dụ đơn giản về lớp PHP:

Trong mã trên, chúng tôi đã sử dụng từ khóa

7 trước biến lớp. Nếu chúng tôi không sử dụng
7, chúng tôi sẽ gặp lỗi phân tích cú pháp.

Nhưng thay vì sử dụng

7, chúng ta cũng có thể sử dụng các từ khóa sửa đổi truy cập trước khi phân rã biến lớp, ví dụ:

Đây là cách chúng ta nên tạo một lớp PHP, đó là thực tiễn lập trình tốt để chỉ định các bộ sửa đổi truy cập cùng với các biến và phương thức của lớp.

private Công cụ sửa đổi truy cập

Chúng ta có thể sử dụng Trình sửa đổi truy cập private cho các biến và phương thức lớp nhưng không phải cho lớp PHP. Khi một thành viên lớp - một biến hoặc một hàm, được khai báo là private thì nó không thể được truy cập trực tiếp bằng cách sử dụng đối tượng của lớp. Ví dụ:

Trong mã trên,

3 và
4 là các biến lớp riêng, do đó chúng ta không thể trực tiếp truy cập chúng bằng đối tượng lớp.

Vì vậy, khi chúng tôi cố gắng thực thi dòng mã sau:

Chúng tôi sẽ gặp lỗi PHP gây tử vong:

Lỗi chết người: Không thể truy cập vào tài sản riêng :: $ fname trong ...Getters and Setters.

Nhưng chúng ta có thể dễ dàng truy cập các biến riêng tư của một lớp bằng cách xác định các chức năng công cộng trong lớp. Chúng ta có thể tạo các chức năng riêng biệt để đặt giá trị thành các biến riêng tư và để nhận giá trị của chúng. Các chức năng này được gọi là getters và setters.

Tên tôi là John Wick

Chúng ta nên có các phương thức Getter và Setter cho tất cả các biến riêng trong lớp.

protected Công cụ sửa đổi truy cập

Giống như trình sửa đổi truy cập private, protected Modifer truy cập cũng hạn chế truy cập các biến và phương thức lớp bên ngoài lớp. Nhưng các biến và hàm của lớp ____9 có thể được truy cập bên trong lớp và bên trong lớp con [một lớp kế thừa lớp].

Chúng ta sẽ học cách tạo ra một lớp con và về khái niệm về sự kế thừa trong các hướng dẫn sắp tới.

Bài Viết Liên Quan

Chủ Đề