只有一个功能的每页的Slim 3 post

时间:2016-09-12 19:20:21

标签: php rest routing routes slim

我正在尝试在发送POST请求时向我的每个网页添加注销。目前我的代码正在运行,但我必须为每条路线定义它。有没有办法让我的主路线文件上有一个$app->post()来影响我网站上的每一页?

例如,在我的管理页面上,我必须添加此代码才能使我的注销正常工作:

$app->post('/admin', function ($request, $response) {
    // Define POST data
    $params = $request->getParams();

    // Logout User
    if ($params['logout']) {
        // Logout
        User::logout();

        // Redirect to login page
        return $response->withHeader("Location", "/");
    }
});

我有没有办法将其添加到单个文件中,而site.com/adminsite.com/panel等其他每个页面都可以访问此文件?

由于

1 个答案:

答案 0 :(得分:0)

我通过使用中间件来解决它。

// Middleware to logout
$app->add(function ($request, $response, $next) {
    // Define POST data
    $params = $request->getParams();

    // Logout User
    if ($params['logout']) {
        // Logout
        User::logout();

        // Redirect to login page
        return $response->withHeader("Location", "/");
    }

    // Return next middleware
    return $next($request, $response);
});