php支持朋友的功能就像C++支持嗎?在php中的朋友函數?
5
A
回答
6
你很可能指的是類/變量範圍。在PHP中,您有:
- 公共
- 私人
- 保護
但不是friend
知名度。當對象的成員僅對其他擴展/繼承對象可見時,使用protected
。
更多信息:
3
不需要。您必須將其公開。
2
PHP不支持任何朋友般的聲明。可以使用PHP5 __get和__set方法來模擬這種情況,並且只檢查允許的朋友類的回溯,儘管執行代碼很笨拙。
這裏也有一些示例代碼和討論,對PHP的網站主題:
類HasFriends { 私人$ __朋友=陣列( '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);
}
}
相關問題
- 1. php朋友表
- 2. 非模板函數朋友
- 3. 朋友模板函數
- 4. C++:傳遞給非朋友的朋友函數
- 5. 模板定義中的朋友函數
- 6. 朋友的MongoDB中的朋友
- 7. 如何獲取用戶朋友中的每一個朋友的朋友數?
- 8. 繼承和朋友函數在C + +
- 9. Facebook朋友的朋友
- 10. SQL表爲朋友,共同朋友,朋友朋友等
- 11. 一個類的朋友函數
- 12. 調用朋友類的析構函數
- 13. 共同的朋友PHP
- 14. PHP MySQL的:添加朋友
- 15. 在PHP中模擬朋友類
- 16. PostgreSQL的:朋友的朋友,但我的那些朋友們
- 17. 如何從C++中的朋友函數訪問私有函數?
- 18. 如何獲得朋友的朋友的朋友...
- 19. 圖 - 顯示朋友(和第一學位朋友)的朋友
- 20. SQL獲取朋友和朋友的朋友
- 21. 朋友的朋友查詢的ArangoDB 3.0
- 22. 重載操作符和朋友函數
- 23. 朋友函數和包含循環
- 24. C++:朋友函數,派生類
- 25. 鏈接到朋友函數時出錯
- 26. 模板類C++朋友函數
- 27. PHP/MySQL中的朋友系統?
- 28. 朋友在SQL
- 29. PHP朋友邀請鏈接
- 30. 如何獲取所有朋友的朋友,這是朋友在facebook的朋友列表
看起來它並不:http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=friend+function+php甚至維基百科似乎不提到它:http://en.wikipedia.org/wiki/Friend_function – fabrik 2010-09-14 09:03:32
找不到朋友,但C++支持朋友類或函數\ – 2010-09-14 09:07:10
可能重複的[PHP等價於朋友或內部](http://stackoverflow.com/questions/317835/PHP-等效的-朋友-或內部) – 2012-06-11 21:19:34