передать функцию с аргументом в вызов метода

Я пытаюсь использовать Flight PHP Framework для маршрутизации и Medoo Framework для использования базы данных.

//connect database
$database = new medoo([
'database_type' => 'sqlite',
'database_file' => 'db.sqlite'
]);
//my function
function database($database){
$database->insert("ppl", [
"fn" => "joe","ln"=>"doe"]);

}
//
Flight::route('/add/', array(database($database)));

Как вызвать мою функцию с аргументом из этого места:

Flight::route('/add/','database')

Пробовал разные варианты, но получал ошибки.

0

Решение

Я не знаю Medoo или же рейс, но вы можете использовать анонимную функцию с use:

Flight::route('/add/',
function() use($database) {
$database->insert("ppl", ["fn"=>"joe","ln"=>"doe"])
});

Я думаю, что вам нужно перестроить это в стиль ООП, который сделает его намного проще и модульным, но в случае, если $database определяется в глобальной области видимости:

function database() {
$GLOBALS['database']->insert("ppl", ["fn"=>"joe","ln"=>"doe"]);
}

Flight::route('/add/', 'database');
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]