У меня есть объект 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