Chức năng hỗ trợ người bạn php như hỗ trợ C++?chức năng người bạn trong php?
5
A
Trả lời
6
Bạn có nhiều khả năng là tham chiếu đến phạm vi lớp/biến. Trong php, bạn có:
- công
- tin
- bảo vệ
Nhưng không friend
tầm nhìn. Tuy nhiên, protected
được sử dụng khi các thành viên của đối tượng chỉ được hiển thị đối với các đối tượng mở rộng/kế thừa khác.
More Info:
3
No. Bạn phải khai báo công khai.
2
PHP không hỗ trợ bất kỳ khai báo bạn-như thế nào. Có thể mô phỏng điều này bằng cách sử dụng các phương thức PHP5 __get và __set và kiểm tra một backtrace cho chỉ các lớp người bạn được phép, mặc dù mã để làm điều đó là loại vụng về.
Có một số mẫu mã và thảo luận về chủ đề trên trang web của PHP:
lớp HasFriends { private $ __ bạn bè = array ('MyFriend', 'OtherFriend');
public function __get($key)
{
$trace = debug_backtrace();
if(isset($trace[1]['class']) && in_array($trace[1]['class'], $this->__friends)) {
return $this->$key;
}
// normal __get() code here
trigger_error('Cannot access private property ' . __CLASS__ . '::$' . $key, E_USER_ERROR);
}
public function __set($key, $value)
{
$trace = debug_backtrace();
if(isset($trace[1]['class']) && in_array($trace[1]['class'], $this->__friends)) {
return $this->$key = $value;
}
// normal __set() code here
trigger_error('Cannot access private property ' . __CLASS__ . '::$' . $key, E_USER_ERROR);
}
}
Các vấn đề liên quan
- 1. PHP DateTime Chức năng
- 2. Chức năng không chặn PHP
- 3. Hết giờ một chức năng trong PHP
- 4. Chức năng người bạn không thể truy cập chức năng riêng nếu lớp nằm trong vùng tên
- 5. Chức năng của bạn bè trong C++
- 6. Chức năng `preg_match_all` của PHP trong Java
- 7. chức năng strpos ngược lại trong php
- 8. Chức năng lọc XSS trong PHP
- 9. Sử dụng chức năng PHP trong TWIG?
- 10. Các chức năng trong mysql hoặc php
- 11. chức năng làm tổ trong PHP
- 12. Chức năng Javascript trong PHP fromCharCode()
- 13. PHP thiếu chức năng mb_strpos?
- 14. php DateTime createFromFormat chức năng
- 15. Tại sao có thể đặt định nghĩa chức năng người bạn bên trong định nghĩa lớp?
- 16. lớp người bạn chức năng bên trong một không gian tên
- 17. Chức năng PHP để biết upload_max_filesize
- 18. Chức năng "Người dùng đang nhập" trong cuộc trò chuyện
- 19. Chức năng xác thực email PHP
- 20. 'Người dùng đang nhập chức năng của một tin nhắn' ...?
- 21. Chức năng Lambda trong PHP là không logic
- 22. Trong trường hợp nào thì một người nên khai báo một thành viên có chức năng một người bạn?
- 23. Tương lai của các chức năng PHP PHP
- 24. Chức năng lỗi kích hoạt trong PHP là gì?
- 25. Tại sao cửa hàng chức năng như biến trong PHP
- 26. Chức năng giống như Flex/Bison trong PHP
- 27. Trợ giúp với chức năng PHP array_filter
- 28. Chức năng thư PHP 'từ' địa chỉ
- 29. Gọi PHP chức năng từ cành mẫu
- 30. php Đặt chức năng ẩn danh trong một cá thể
Hình như nó không: http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=friend+function+php và thậm chí Wikipedia dường như không đề cập đến nó: http://en.wikipedia.org/wiki/Friend_function – fabrik
không tìm thấy bạn bè nhưng C++ hỗ trợ lớp hoặc chức năng của bạn bè \ –
bản sao có thể có của [PHP tương đương với bạn bè hoặc nội bộ] (http://stackoverflow.com/questions/317835/php-tương đương-của-bạn-hoặc-nội bộ) –