Giả sử ta có một lớp cơ sở trừu tượng foo
với __get()
xác định, và một lớp con bar
mà kế thừa từ foo
với một biến tin $var
, sẽ phụ huynh __get()
được gọi khi cố gắng truy cập các tin $var
từ bên ngoài lớp học?PHP __get và lớp Private biến
9
A
Trả lời
10
Có.
<?php
abstract class foo
{
public function __get($var)
{
echo "Parent (Foo) __get() called for $var\n";
}
}
class bar extends foo
{
private $var;
public function __construct()
{
$this->var = "25\n";
}
public function getVar()
{
return $this->var;
}
}
$obj = new bar();
echo $obj->var;
echo $obj->getVar();
?>
đầu ra:
$ php test.php
Chánh (Foo) __get() kêu gọi var
4
Yes. __get()
và __set()
(và __call()
cho vấn đề đó) được gọi khi một thành viên dữ liệu được truy cập không hiển thị với thực thi hiện tại.
Trong trường hợp này, $var
là riêng tư, vì vậy, truy cập công khai sẽ gọi móc __get()
.
Các vấn đề liên quan
- 1. Private biến và phương pháp trong Python
- 2. Magic __get getter cho các thuộc tính tĩnh trong PHP
- 3. biến PHP trong lớp
- 4. PHPUnit: Mocking __get() kết quả trong "__get() phải lấy chính xác 1 đối số ..."
- 5. Will isset() trigger __get và tại sao?
- 6. Biến tĩnh riêng tư trong lớp php
- 7. Lớp mẫu PHP có biến?
- 8. C++ private inheritance và static members/types
- 9. Private destructor
- 10. Biến tĩnh PHP trong lớp trừu tượng
- 11. JavaScript của tương đương với __get PHP() phương pháp kỳ diệu
- 12. __get tài nguyên trong PHP "Không thể sử dụng đối tượng kiểu stdClass như mảng"
- 13. biến thể hiện lớp python và biến lớp
- 14. Lỗi với `QObject` lớp con và copy constructor:` QObject :: QObject (const QObject &) là private`
- 15. Tải Jquery() và biến PHP
- 16. Rails ActiveSuppport: Lo ngại và phương pháp Private
- 17. Rails và các biến lớp
- 18. Biến toàn cầu và biến tĩnh trong PHP
- 19. Private Git trên OpenShift
- 20. Sử dụng __get() (ma thuật) để mô phỏng tính thích hợp chỉ đọc và tải chậm
- 21. Phương pháp ma thuật Php __get và __set - tại sao chúng ta cần những phương pháp này ở đây?
- 22. Tiếp cận dữ liệu thành viên private của lớp ngoài cùng trong lớp bên
- 23. Biến lớp động
- 24. PHP - biến lớp học cá nhân đưa ra lỗi: không xác định biến
- 25. Chuyển đổi một mảng PHP thành các biến lớp
- 26. Gọi một biến từ một lớp khác PHP
- 27. php: Gọi các lớp tĩnh qua biến số
- 28. PHP, lớp biến mới trong không gian tên
- 29. cách khai báo một lớp php với một tên biến
- 30. biến biến trong PHP