Hướng dẫn php return self - php tự trả lại

Nếu bạn đang tìm hiểu về lập trình hướng đối tượng [OOP] ngay từ đầu sẽ làm quen với từ khóa this và self. Và bạn có thể thấy thấy cách sử dụng $this trong một số đoạn mã PHP. Vậy chúng có ý nghĩa và cách dùng như thế nào? Hãy tham khảo bài sau.

  • This trong PHP
  • Self trong PHP

$this tham chiếu đến đối tượng hiện tại của lớp. $this là biến giả được tạo ngay khi đối tượng của lớp được tạo và có thể sử dụng sau khi phương thức lớp đó được gọi từ bên trong ngữ cảnh đối tượng.

Nói chung các hàm thành viên bên trong có thể truy cập các thành viên không tĩnh của một lớp [biến hoặc hàm] cho đối tượng hiện tại.

Hãy quan sát ví dụ dùng $this bên dưới:

Đầu tiên mình sẽ khởi tạo một Class là ConNguoi. Bên trong nó sẽ đặt $ten với giới hạn truy cập là private. Và phương thức setName là public. Có nghĩa là truy cập được mọi nơi, kể cả bên ngoài lớp.

Từ khóa this lúc này được sử dụng để gọi biến bất kỳ của Class và được dùng bên trong hàm thành viên. Hàm thành viên ở đây là setName. $this để trỏ đến đối tượng hiện tại .gọi biến bất kỳ của Class và được dùng bên trong hàm thành viên. Hàm thành viên ở đây là setName. $this để trỏ đến đối tượng hiện tại .

Hoặc cũng có thể sử dụng $this để gọi một hàm thành viên khác.

Self trong PHP

$this tham chiếu đến đối tượng hiện tại của lớp. $this là biến giả được tạo ngay khi đối tượng của lớp được tạo và có thể sử dụng sau khi phương thức lớp đó được gọi từ bên trong ngữ cảnh đối tượng.

Nói chung các hàm thành viên bên trong có thể truy cập các thành viên không tĩnh của một lớp [biến hoặc hàm] cho đối tượng hiện tại.

Hãy quan sát ví dụ dùng $this bên dưới:

Đầu tiên mình sẽ khởi tạo một Class là ConNguoi. Bên trong nó sẽ đặt $ten với giới hạn truy cập là private. Và phương thức setName là public. Có nghĩa là truy cập được mọi nơi, kể cả bên ngoài lớp. phương thức và thuộc tính tĩnh [static].

Từ khóa this lúc này được sử dụng để gọi biến bất kỳ của Class và được dùng bên trong hàm thành viên. Hàm thành viên ở đây là setName. $this để trỏ đến đối tượng hiện tại .

Hoặc cũng có thể sử dụng $this để gọi một hàm thành viên khác.

Một lớp có thể chứa kết hợp của các thành viên tĩnh và không tĩnh . Để truy cập các thành viên tĩnh của lớp, nó sử dụng self cùng với toán tử phân giải phạm vi ::. Toán tử phân giải phạm vi này còn được gọi là Paamayim Nekudotayim [có nghĩa là dấu hai chấm trong tiếng Do Thái] hoặc trong những từ đơn giản hơn, dấu hai chấm kép.Các hàm và biến static được liên kết với chính lớp đó. Có nghĩa là bất cứ giá trị nào mà biến static giữ, nó sẽ được chia sẻ cho tất cả các đối tượng được tạo khác.Nói một cách đơn giản, giả sử chúng ta cập nhật biến static bằng cách sử dụng $a và sau đó dùng lại $a, chúng ta cố gắng truy cập vào cùng một biến static thì sẽ nhận được cùng một giá trị và ngược lại.
Self sử dụng để tham chiếu đến các phương thức và thuộc tính tĩnh [static].Hãy làm một ví dụ sau:Khi chạy đoạn mã hoàn toàn bình thường. Nhưng lúc này bạn hãy thử xóa static ngay trước $name đi xem sao.
Sự khác nhau Self This
Có thể được sử dụng trong các hàm [function] tĩnh Khi chạy đoạn mã hoàn toàn bình thường. Nhưng lúc này bạn hãy thử xóa static ngay trước $name đi xem sao.Sự khác nhau

Self

This phân biệt Static và Self. Khi sử dụng sẽ rất dễ bị nhầm lẫn nếu không hiểu rõ về chúng.

Có thể được sử dụng trong các hàm [function] tĩnh

  • Self trong PHP
  • Được

Không

Có thể truy cập biến của lớp và các phương thức

Self::

PHP> 5.3 cho phép sử dụng $this với các biến tĩnh sử dụng $this::$foo. Nếu dùng $this->foo sẽ vẫn không được xác định.

Được

Không

return static::$name;

Có thể truy cập biến của lớp và các phương thức

Self::

PHP> 5.3 cho phép sử dụng $this với các biến tĩnh sử dụng $this::$foo. Nếu dùng $this->foo sẽ vẫn không được xác định.

Cần một đối tượng khởi tạo Như vậy qua bài học này bạn đã biết được Self sẽ thực thi câu lệnh theo ngữ cảnh mà nó được khai đặt. Còn với Static sẽ ngữ cảnh của Class. Còn với từ khóa this được dùng để trỏ đến đối tượng hiện tại.

Bài Viết Liên Quan

Chủ Đề