无法在Slim路径中访问app变量?

Pix*_*ach -1 php slim

这可能是Slim的基础,或者甚至可能是php问题,但我不知道它为什么不起作用:

$body = $app->request->getBody();
syslog(LOG_INFO,$body);

$app->put('/contacts',function(){
        try {
            $body = $app->request->getBody();
            syslog(LOG_INFO,"contacts received: ".json_decode($body));
        } catch(Exception $ex){
            syslog(LOG_ERR,$ex);
        }
    });
Run Code Online (Sandbox Code Playgroud)

第一个日志获取正文,但当我到达第二个时,我收到此错误:

异常'ErrorException',消息'Undefined variable:app'

当我尝试在put请求中注释掉一个并尝试读取$ body时,会发生同样的事情

异常'ErrorException',消息'Undefined variable:body'

Pix*_*ach 6

你必须像这样传递它:

$app->put('/get-connections',function() use ($app) {
Run Code Online (Sandbox Code Playgroud)

为什么这在我不知道的文档中并不明显.