Здравствуйте. Есть некоторый класс Klass с несколькими методами, который проверяет с помощью анонимной функции некоторые аргументы.
class Klass{
public function check(array $data, callable $function)
{
if (!$function($this->testAmount)) {
throw new \Method exceptionException("Something went wrong");
}
}
private function test($value1, $value2) {
return $value1== $value2;
}
}
В другом классе вызываем этот класс и реализуем коллбек с вызовом метода test для проверки равности переменных.
$class = new Klass;
$class->check($data, function($someValue) use($amount){
return $this->test($amount, $someValue);
});
Но проблема в том, что в коллбеке нет доступа к приватному методу класса Klass и возникает ошибка. Как реализовать коллбек либо передать параметры в него таким образом, чтобы внутри можно было вызвать приватный метод класса Klass?
Спасибо.