В Slim 2 я бы сделал так,
$app->map('/login', function () use ($app) {
// Test for Post & make a cheap security check, to get avoid from bots
if ($app->request()->isPost() && sizeof($app->request()->post()) >= 2) {
//
}
// render login
$app->render('login.twig');
})->via('GET','POST')->setName('login');
Но в Slim 3,
// Post the login form.
$app->post('/login', function (Request $request, Response $response, array $args) {
// Get all post parameters:
$allPostPutVars = $request->getParsedBody();
// Test for Post & make a cheap security check, to get avoid from bots
if ($request()->isPost() && sizeof($allPostPutVars) >= 2) {
///
}
});
Я получаю эту ошибку,
Неустранимая ошибка: имя функции должно быть строкой в C:...
Очевидно, что isPost()
устарел, так что же мне использовать вместо этого в Slim 3 для замены isPost?
$request()->isPost()
должно быть просто$request->isPost()
, без скобок, во втором примере кода.$request
является объектом. - person Gustavo Straube   schedule 25.10.2015isPost
по-прежнему доступен в соответствии с документацией: slimframework .com/docs/objects/request.html#the-request-method - person Gustavo Straube   schedule 25.10.2015$app->post(…)
каждый запрос к этой публикации, запрос на получение не будет сопоставлен с этим. - person danopz   schedule 27.10.2015