Câu hỏi

Các liên kết tĩnh trễ (LSB) trong PHP là gì?

Câu trả lời

Trong PHP, Liên kết tĩnh trễ (Late Static Bindings - LSB) là một tính năng cho phép bạn tham chiếu đến lớp được sử dụng trong việc gọi phương thức tĩnh hiện tại, thay vì lớp mà phương thức đó được định nghĩa. LSB giúp giải quyết vấn đề với từ khóa self trong kế thừa, nơi self luôn tham chiếu đến lớp mà phương thức được định nghĩa, không phải lớp mà phương thức được gọi

Vấn đề với self:

Khi sử dụng từ khóa self để tham chiếu đến các thuộc tính hoặc phương thức tĩnh trong một lớp, self sẽ luôn tham chiếu đến lớp mà nó được viết, không phải lớp mà từ đó phương thức được gọi. Điều này có thể gây ra vấn đề khi bạn muốn một phương thức tĩnh trong lớp cha tham chiếu đến thuộc tính hoặc phương thức tĩnh được ghi đè trong lớp con.

Giải pháp với LSB:

LSB giúp giải quyết vấn đề này bằng cách sử dụng từ khóa static thay vì self. Khi sử dụng static, PHP sẽ tham chiếu đến lớp mà phương thức được gọi, cho phép bạn truy cập đến các thuộc tín...

Bạn cần đăng nhập để xem
senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Toán tử Nullish Coalescing trong PHP dùng để làm gì?

middle

Sự khác biệt giữa query() của PDO và execute() là gì?

middle

Tối đa bao nhiêu đối số được phép trong một hàm trong PHP?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào