Hướng dẫn what is the use of $this in php? - việc sử dụng $this trong php là gì?

Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về từ khóa PHP $this và cách sử dụng $this bên trong một lớp để tham khảo đối tượng hiện tại.: in this tutorial, you will learn about PHP $this keyword and how to use $this inside a class to reference the current object.

Trong PHP, từ khóa $this tham chiếu đối tượng hiện tại của lớp. Từ khóa $this cho phép bạn truy cập các thuộc tính và phương thức của đối tượng hiện tại trong lớp bằng toán tử đối tượng (

$this->balance

Code language: PHP (php)
3):

$this->property $this->method()

Code language: PHP (php)

Từ khóa $this chỉ có sẵn trong một lớp. Nó không tồn tại bên ngoài lớp học. Nếu bạn cố gắng sử dụng $this bên ngoài một lớp, bạn sẽ gặp lỗi.

Khi bạn truy cập một thuộc tính đối tượng bằng từ khóa $this, bạn chỉ sử dụng

$this->balance

Code language: PHP (php)
7 với từ khóa

$this->balance

Code language: PHP (php)
8. Và bạn không sử dụng

$this->balance

Code language: PHP (php)
7 với tên tài sản. Ví dụ:

$this->balance

Code language: PHP (php)

Những điều sau đây cho thấy lớp

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
0:

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)

Trong ví dụ này, chúng tôi truy cập thuộc tính

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
1 thông qua từ khóa $this bên trong các phương thức

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
3 và

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
4.

Phương pháp chuỗi

Đầu tiên, hãy tạo một đối tượng

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
0 mới:

// create a new account object $account = new BankAccount(); $account->accountNumber = 1; $account->balance = 100;

Code language: PHP (php)

Thứ hai, hãy gọi phương thức

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
3 ba lần để gửi số tiền khác nhau:

$account->deposit(100); $account->deposit(200); $account->deposit(300);

Code language: PHP (php)

Mã này khá dài dòng. Sẽ ngắn gọn và biểu cảm hơn nếu bạn có thể viết những câu này bằng một câu như thế này:

$account->deposit(100) ->deposit(200) ->deposit(300);

Code language: PHP (php)

Kỹ thuật này được gọi là chuỗi phương pháp. Để tạo thành chuỗi phương thức, phương thức

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
3 cần trả về đối tượng

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
0, đó là $this bên trong lớp

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
0 như thế này:

public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } return $this; }

Code language: PHP (php)

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
3 trả về $this là đối tượng hiện tại của lớp

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
0. Do đó, bạn có thể gọi bất kỳ phương thức công khai nào của lớp

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
0.

Ví dụ sau đây gọi phương thức

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
3 trước và sau đó là phương thức

class BankAccount { public $accountNumber; public $balance; public function deposit($amount) { if ($amount > 0) { $this->balance += $amount; } } public function withdraw($amount) { if ($amount <= $this->balance) { $this->balance -= $amount; return true; } return false; } }

Code language: HTML, XML (xml)
4 trong một câu lệnh:

$account->deposit(100) ->withdraw(150);

Code language: PHP (php)

Nó tương đương với những điều sau:

$account->deposit(100); $account->withdraw(150);

Code language: PHP (php)

Bản tóm tắt

  • Php $this Từ khóa tham chiếu đối tượng hiện tại của lớp. Nó chỉ có sẵn trong lớp.
  • Sử dụng phương thức chuỗi bằng cách trả về $this từ một phương thức để làm cho mã ngắn gọn hơn.

Bạn có thấy hướng dẫn này hữu ích không?

$ Cái này là gì trong oops?

Định nghĩa và sử dụng Từ khóa này đề cập đến đối tượng hiện tại trong một phương thức hoặc hàm tạo. Việc sử dụng phổ biến nhất của từ khóa này là loại bỏ sự nhầm lẫn giữa các thuộc tính và tham số lớp có cùng tên (vì thuộc tính lớp bị che mờ bởi một phương thức hoặc tham số hàm tạo).The this keyword refers to the current object in a method or constructor. The most common use of the this keyword is to eliminate the confusion between class attributes and parameters with the same name (because a class attribute is shadowed by a method or constructor parameter).

Mục đích của $ này và mở rộng trong PHP là gì?

Định nghĩa và sử dụng Từ khóa mở rộng được sử dụng để lấy một lớp từ một lớp khác. Điều này được gọi là thừa kế. Một lớp có nguồn gốc có tất cả các thuộc tính công khai và được bảo vệ của lớp mà nó bắt nguồn từ.The extends keyword is used to derive a class from another class. This is called inheritance. A derived class has all of the public and protected properties of the class that it is derived from.

Khi tôi sử dụng $ này và khi nào trong PHP?

Bất cứ khi nào bạn muốn sử dụng một biến nằm ngoài hàm nhưng bên trong cùng một lớp, bạn sẽ sử dụng $ này.$ Điều này đề cập đến lớp PHP hiện tại mà thuộc tính hoặc chức năng bạn sẽ truy cập nằm trong., you use $this. $this refers to the current php class that the property or function you are going to access resides in.

Tại sao chúng ta sử dụng $ này trong Laravel?

Việc sử dụng là cần thiết cho bộ điều khiển của bạn để có thể sử dụng hình ảnh.Khi nó được tải vào đối tượng của bạn trong hàm tạo với $ this-> Image = $ ImagerEpository;, các phương thức bộ điều khiển của bạn có quyền truy cập vào các phương thức của nó, (chẳng hạn như tải lên) thông qua hình ảnh $ this->.necessary for your controller to be able to use ImageRepository . Once it is loaded into your object in the constructor with $this->image = $imageRepository; , your controller methods have access to its methods, (such as upload ) via $this->image .