Tôi đã tự hỏi lợi ích của việc sử dụng một số điện thoại public static function
hoặc private static function
thay vì chỉ đơn giản là public function
hoặc private function
?PHP | Tại sao tôi nên sử dụng chức năng tĩnh tĩnh/riêng công cộng thay vì chức năng công cộng/riêng tư?
Trả lời
Phương thức "bình thường" (thường được gọi là phương pháp dụ) được gọi trên một phiên bản của lớp mà chúng được xác định. Phương thức này sẽ luôn có quyền truy cập đối tượng của nó thông qua $this
và do đó nó có thể làm việc với dữ liệu được thực hiện bởi đối tượng đó (và thực sự sửa đổi nó). Đây là một khía cạnh cốt lõi của lập trình hướng đối tượng, và đó là những gì làm cho một lớp học nhiều hơn chỉ là một bó dữ liệu.
Các cuộc gọi đến phương pháp tĩnh, mặt khác, không được liên kết với một đối tượng cụ thể. Chúng hoạt động giống như các hàm bình thường trong khía cạnh này; thực sự sự khác biệt duy nhất là chúng có thể được đánh dấu là private
và cũng có quyền truy cập vào các phương thức và biến riêng tư trên các cá thể của lớp của chúng. Các hàm tĩnh thực sự chỉ là phần mở rộng của lập trình thủ tục.
Ví dụ, một phương pháp dụ được gọi vào một đối tượng:
$object = new MyClass();
$result = $object->myInstanceMethod();
Một phương pháp tĩnh được gọi vào chính lớp:
$result = MyClass::myStaticMethod();
- 1. Ghi đè các chức năng ảo công cộng với các chức năng riêng tư trong C++
- 2. Oracle - Tại sao tôi nên sử dụng các gói thay vì các thủ tục hoặc chức năng độc lập
- 3. Khi nào nên sử dụng chức năng thành viên tĩnh?
- 4. Tôi nên đặt chỗ tĩnh tĩnh công cộng ở đâu?
- 5. Android: Tôi nên làm gì thay vì sử dụng chức năng không dùng nữa (getwidth())?
- 6. Chức năng filemtime PHP - "stat không thành công cho"
- 7. Chức năng thành viên tĩnh
- 8. Xác minh thành công chức năng mail() PHP
- 9. Chức năng riêng tư trừu tượng
- 10. thay thế cho PHP exec() chức năng
- 11. Tại sao đặt chức năng?
- 12. Tại sao bài đăng không thành công trong bài kiểm tra chức năng Rails của tôi?
- 13. Khi nào tôi nên sử dụng các phương thức công khai/riêng tư/tĩnh?
- 14. Tôi có nên trả lại 0 hoặc 1 cho chức năng thành công không?
- 15. chức năng thành công ajax đang in [đối tượng] thay vì văn bản thuần túy. Tại sao?
- 16. Tại sao cửa hàng chức năng như biến trong PHP
- 17. Sử dụng chức năng PHP trong TWIG?
- 18. Tại sao nên sử dụng Function.prototype.bind thay vì Function.prototype.call?
- 19. nếu chức năng không tồn tại ghi chức năng - javascript
- 20. Truy cập biến tin từ chức năng tĩnh trong php
- 21. Tại sao sử dụng PHP OOP trên các chức năng cơ bản và khi nào?
- 22. tại sao typeof (/./) == 'chức năng' được sử dụng trong gạch
- 23. Tại sao chức năng ảo bị ẩn?
- 24. PHP DateTime Chức năng
- 25. Tôi có nên sử dụng chức năng thư php hoặc phpmailer không?
- 26. Php chuỗi cast vs strval chức năng mà tôi nên sử dụng?
- 27. Phương thức thay đổi PHP/chức năng hiển thị
- 28. Sử dụng chức năng Chuyển qua chức năng khác nhau
- 29. Không tạo các chức năng riêng biệt thay vì một chức năng xử lý chậm nhất?
- 30. Cách sử dụng chức năng Unlink()
Đây không phải là một câu hỏi về lợi thế hay bất lợi. Ngoài ra, bạn đã tìm kiếm trang web chưa? – BoltClock
bạn không cần tạo đối tượng để sử dụng các phương thức tĩnh..Và có rất nhiều câu hỏi liên quan! – meze
Có, tôi đã đọc một số từ trang PHP Manual, nhưng dường như tôi không hiểu tại sao sử dụng các phương thức tĩnh, tôi chỉ hiểu rằng thay vì gọi hàm public như thế này '->' Tôi có thể làm điều này '::' và một số thông tin khác tôi đọc về phương pháp tĩnh trên trang web thủ công php ... – Roland