Я только начинаю с анонимных функций, а именно Closures, и столкнулся с проблемой. Я использую Закрытие, чтобы позвонить статическая функция внутри класс под названием Project вернуть значение в другом класс называется Application. Ниже приведена упрощенная версия моей проблемы
class Project{
public function __construct(){
self::ProcessParams(function() {
return Application::return_param('1');
}, 'param2', 'param3');
}
}
public static function ProcessParams($param1, $param2, $param3){
var_dump($param1);
}
}
Моя проблема в том, что var_dump () в функции ProcessParams не возвращает запрошенное значение, а вставляет весь класс Project в $ param1
объект (закрытие) # 90 (1) {[«this»] => объект (проект) # 34 (3) {…..}
Что я делаю неправильно??
Спасибо
Вам нужно вызов замыкание, чтобы получить его возвращаемое значение:
var_dump($param1());
Вы можете начать здесь, чтобы узнать больше об анонимных функциях: http://php.net/manual/de/functions.anonymous.php
Других решений пока нет …