Hướng dẫn why we use $this in php? - tại sao chúng tôi sử dụng $ this trong php?

Đây là giải thích chi tiết dài. Tôi hy vọng điều này sẽ giúp người mới bắt đầu. Tôi sẽ làm cho nó rất đơn giản.

Đầu tiên, hãy tạo một lớp học

Bạn có thể bỏ qua thẻ đóng PHP

9 nếu bạn chỉ sử dụng mã PHP.

Bây giờ chúng ta hãy thêm thuộc tính và một phương thức bên trong

0.

Thuộc tính chỉ là một biến đơn giản, nhưng chúng tôi cho nó tên thuộc tính vì nó bên trong một lớp.

Phương pháp này chỉ là một hàm đơn giản, nhưng chúng tôi nói phương thức vì nó cũng bên trong một lớp.

Từ khóa

1 có nghĩa là phương thức hoặc thuộc tính có thể được truy cập ở bất cứ đâu trong tập lệnh.

Bây giờ, làm thế nào chúng ta có thể sử dụng các thuộc tính và phương thức bên trong

0?

Câu trả lời là tạo một thể hiện hoặc một đối tượng, hãy nghĩ về một đối tượng như một bản sao của lớp.

Chúng tôi đã tạo một đối tượng, đó là

3, là bản sao của
0 với tất cả các nội dung của nó. Và chúng tôi đã bỏ tất cả các nội dung của
3 bằng cách sử dụng
6.

Điều này sẽ cung cấp cho bạn

object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }

Vì vậy, tất cả các nội dung của

0 đều ở trong
3, ngoại trừ
9, tôi không biết tại sao các phương thức không hiển thị trong khi bỏ các đối tượng.

Bây giờ điều gì sẽ xảy ra nếu chúng ta chỉ muốn truy cập

object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
0. Nó đơn giản, chúng tôi làm
object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
1, chúng tôi chỉ thêm
object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
2, chúng tôi đã chỉ ra nó.

Chúng tôi cũng có thể truy cập

object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
3, chúng tôi làm
object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
4.

Bây giờ giả sử tôi muốn truy cập

object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
0 từ bên trong
object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
3, tôi sẽ làm điều này

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 

Chúng tôi đã tạo

object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
7, một bản sao mới của
0 hoặc chúng tôi có thể nói một ví dụ. Sau đó, chúng tôi đã chỉ ra
object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
9 từ
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
0

return $object2->property1;

Điều này sẽ in

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
1 trong trình duyệt.

Bây giờ thay vì làm điều này bên trong

object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
3

$object2 = new Class1;
return $object2->property1;

Chúng tôi làm điều này

return $this->property1;

Đối tượng

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 được sử dụng bên trong lớp để tham khảo bản thân lớp.

Nó là một giải pháp thay thế để tạo đối tượng mới và sau đó trả lại nó như thế này

$object2 = new Class1;
return $object2->property1;

Một vi dụ khac

result = $this->property1 + $this->property2;
        return $this->result;
    }
}

$object1 = new Class1;
var_dump($object1->Method1());

Chúng tôi đã tạo 2 thuộc tính chứa số nguyên và sau đó chúng tôi đã thêm chúng và đặt kết quả vào

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
4.

Không được quên điều đó đấy

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
5 =
object(Class1)#1 (2) { ["property1"]=> string(15) "I am property 1" ["property2"]=> string(15) "I am property 2" }
0 =
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
7

Họ có cùng giá trị .. vv

Tôi hy vọng điều đó giải thích ý tưởng.

Loạt video này sẽ giúp bạn rất nhiều trong OOP

https://www.youtube.com/playlist?list=PLe30vg_FG4OSEHH6bRF8FrA7wmoAMUZLv

Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về từ khóa PHP

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 và cách sử dụng
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 bên trong một lớp để tham chiếu đối tượng hiện tại.
: in this tutorial, you will learn about PHP
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 keyword and how to use
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 inside a class to reference the current object.

Trong PHP, từ khóa

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 tham chiếu đối tượng hiện tại của lớp. Từ khóa
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 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 (
return $object2->property1;
2):

0

Từ khóa

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 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
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 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

property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3, bạn chỉ sử dụng
return $object2->property1;
6 chỉ với từ khóa
return $object2->property1;
7. Và bạn không sử dụng
return $object2->property1;
6 với tên tài sản. Ví dụ:

1

Sau đây cho thấy lớp

return $object2->property1;
9:

2

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

$object2 = new Class1;
return $object2->property1;
0 thông qua từ khóa
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 bên trong các phương thức
$object2 = new Class1;
return $object2->property1;
2 và
$object2 = new Class1;
return $object2->property1;
3.

Phương pháp chuỗi

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

return $object2->property1;
9 mới:

3

Thứ hai, hãy gọi phương pháp

$object2 = new Class1;
return $object2->property1;
2 ba lần để gửi số tiền khác nhau:

4

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:

5

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

$object2 = new Class1;
return $object2->property1;
2 cần trả về đối tượng
return $object2->property1;
9, đó là
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 bên trong lớp
return $object2->property1;
9 như thế này:

6

$object2 = new Class1;
return $object2->property1;
2 trả về
property1;
    }
}

$object1 = new Class1;
var_dump($object1->Method1()); 
3 là đối tượng hiện tại của lớp
return $object2->property1;
9. Do đó, bạn có thể gọi bất kỳ phương thức công khai nào của lớp
return $object2->property1;
9.

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

$object2 = new Class1;
return $object2->property1;
2 trước và sau đó là phương thức
$object2 = new Class1;
return $object2->property1;
3 trong một câu lệnh:

7

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

8

Bản tóm tắt

  • Php
    property1;
        }
    }
    
    $object1 = new Class1;
    var_dump($object1->Method1()); 
    
    3 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ề
    property1;
        }
    }
    
    $object1 = new Class1;
    var_dump($object1->Method1()); 
    
    3 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?

Mục đích của $ này là gì 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ừ.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.

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

Đây, bản thân và tôi là các từ khóa được sử dụng trong một số ngôn ngữ lập trình máy tính để chỉ đối tượng, lớp hoặc thực thể khác mà mã hiện đang chạy là một phần.keywords used in some computer programming languages to refer to the object, class, or other entity of which the currently running code is a part.

Mục đích của đối tượng giả $ này và bản thân trong PHP là gì?

Tự được sử dụng để truy cập các biến hoặc phương thức tĩnh hoặc lớp và điều này được sử dụng để truy cập các biến hoặc phương thức không tĩnh hoặc đối tượng.Vì vậy, hãy sử dụng bản thân khi có nhu cầu truy cập một cái gì đó thuộc về một lớp và sử dụng $ Điều này khi có nhu cầu truy cập một thuộc tính thuộc đối tượng của lớp.. So use self when there is a need to access something which belongs to a class and use $this when there is a need to access a property belonging to the object of the class.