Slim 缺少闭合
Missing Closure in Slim
我正在尝试将 Slim 框架作为 REST api 的基础,并且在我尝试访问它时 运行 遇到以下问题:
Missing argument 2 for {closure}()
我用谷歌搜索了一下,none 的建议似乎适用。这是整个应用程序:
require("vendor/autoload.php");
use Slim\Slim as Slim;
\Slim\Slim::registerAutoloader();
include("validate.php");
$app= new Slim();
//
// Route: GET /test/ID
//
$app->get("/test/:id",function($request,$response,$id) { <--- ERROR LINE
$status=accessAllowed("id",$request,$response);
log_info("Status: $status\n");
});
$app->run();
我刚刚开始学习 Slim,我假设这只是一个新手问题。任何指导将不胜感激。
我正在使用 Slim 的第 3 版(最新)。
您肯定没有使用 slim 3 因为
- Slim 3 不再有 registerAutoloader();功能,并且
- class 名称从 Slim() 更改为 App(),并且
- 在 Slim 3 中获取参数的正确方法是 {id},而不是 :id
您需要的是正确的回调签名。
$app->get("/test/:id",function($id) use ($app) { <--- ERROR LINE
$status=accessAllowed("id",$app->request,$app->response);
print "Status: $status\n";
});
我正在尝试将 Slim 框架作为 REST api 的基础,并且在我尝试访问它时 运行 遇到以下问题:
Missing argument 2 for {closure}()
我用谷歌搜索了一下,none 的建议似乎适用。这是整个应用程序:
require("vendor/autoload.php");
use Slim\Slim as Slim;
\Slim\Slim::registerAutoloader();
include("validate.php");
$app= new Slim();
//
// Route: GET /test/ID
//
$app->get("/test/:id",function($request,$response,$id) { <--- ERROR LINE
$status=accessAllowed("id",$request,$response);
log_info("Status: $status\n");
});
$app->run();
我刚刚开始学习 Slim,我假设这只是一个新手问题。任何指导将不胜感激。
我正在使用 Slim 的第 3 版(最新)。
您肯定没有使用 slim 3 因为
- Slim 3 不再有 registerAutoloader();功能,并且
- class 名称从 Slim() 更改为 App(),并且
- 在 Slim 3 中获取参数的正确方法是 {id},而不是 :id
您需要的是正确的回调签名。
$app->get("/test/:id",function($id) use ($app) { <--- ERROR LINE
$status=accessAllowed("id",$app->request,$app->response);
print "Status: $status\n";
});