Согласно Flight PHP документация, использовать объектный метод с помощью:
Flight::route('/some/route', [$object, 'method']);
и использовать параметры маршрута с помощью:
Flight::route('/@name/@id', function($name, $id){
echo "hello, $name ($id)!";
});
Я попытался объединить оба, как это:
Flight::route('/user/@id', [$object, 'method']);
но это не работает Есть ли способ передать параметры в метод объекта?
Как насчет назначения переменных в замыкании?
Flight::route('/@name/@id', function($name, $id){
$obj = new Object; // or use a DIC
$obj->name = $name;
$obj->id = $id; // or assign these in the constructor
});
Смотря на Dispatcher.php (методы callFunction
а также invokeMethod
), ваш вариант использования должен поддерживаться. Параметры должны поддерживаться одинаково хорошо в анонимных функциях и в методах класса …