Как правильно сделать функцию обратного вызова PHP - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть класс

 class MyClass {

     public function functionOne(User $user) {
        $user->startProcess(function ($data) {
           $this->makeUpdate($data);
        });
     }

     protected function makeUpdate($data)
     {
        //... do something  
     }
 }



 $myClass = new MyClass();
 $myClass->functionOne($user);

Когда я запускаю этот код, у меня появляется ошибка

BadMethodCallException Метод App \ MyClass :: makeUpdate делаетне существует.

Как я могу это исправить?

1 Ответ

0 голосов
/ 20 ноября 2018

Работает с кодом ниже

$data = $user->startProcess();
$this->makeUpdate($data);

вместо

$user->startProcess(function ($data) {
    $this->makeUpdate($data);
});
...