使用方法调用的参数传递函数

时间:2016-10-05 19:10:33

标签: 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 个答案:

答案 0 :(得分:0)

我不知道 medoo 航班,但您可以使用use的匿名函数:

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

我认为你需要将其重新构建为一种OOP样式,使其更容易和模块化,但如果在全局范围内定义了$database,那么就会陷入困境:

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

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