Может вызываться php, ссылка на функцию или значение - PullRequest
0 голосов
/ 17 января 2020

Я немного путаюсь с типом Callable в php, я не уверен, что переменная, назначенная функции обратного вызова, получает значение, возвращаемое функцией, или получает ссылку на функцию.

function ($x){
   return x;
}

function func1(callable $func){
   $var = $func;
}

и можно сделать

$var($a)

1 Ответ

0 голосов
/ 17 января 2020

Ответ - нет. Когда вы указываете вызываемый тип, вы говорите, что будете вызывать эту переменную. Это может быть в форме строки или массива или замыкания. Каково бы ни было значение этой переменной, вы говорите PHP, что намереваетесь ее выполнить.

// Type 1: Simple callback
func1('my_callback_function');

// Type 2: closure
func1(fn()=>'returnvalue');

// Type 3: Object method call
$obj = new MyClass();
func1([$obj, 'myCallbackMethod']);

Для получения дополнительной информации см. https://www.php.net/manual/en/language.types.callable.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...