我有一個不應該被改變的id的PHP對象,除了在一個特定的上下文中,當一個特定的方法被調用時。但是這種方法在對象類之外,不能繼承。我不知道有什麼更好的方法可以正確執行此操作,如何通過正確的方法調用對象設置程序來「檢查」,以避免濫用?限制對象修改
在此先感謝您的幫助
編輯:這裏有一個例子:
<?php
class myClass {
private $id;
private $var1;
private $var2;
private function setId($id){
//this must be accessible only when calling "secureSetId()" from class "secureClass"
$this->id = $id;
}
public function setVar1{
//this is a public function...
}
...
}
class secureClass {
private function secureSetId($id){
//this is accessible only here, but how to call private function "setId" from class "myClass"?
}
...
}
?>
debug_backtrace()是一個解決方案,但我不知道這是否是一個很好的,因爲它的成本一些性能... – bwoebi
顯示一些代碼和示例 – nickb