#php #medoo #flightphp
#php #medoo #flightphp
Вопрос:
Я пытаюсь использовать фреймворк PHP для маршрутизации и фреймворк medoo для использования базы данных.
//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')
Пробовал разные варианты, но получал ошибки.
Комментарии:
1. Ошибки, которые вы говорите…
2. да, «указан недопустимый обратный вызов» я читал об обратных вызовах в руководстве по php, но пока не могу заставить его работать.
3. Не уверен, что я делаю, отредактировано…
Ответ №1:
Я не знаю medoo или flight, но вы могли бы использовать анонимную функцию с 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');