duanguanzai6181 2012-03-21 13:33
浏览 89
已采纳

PHP Slim框架 - 多种HTTP方法

I am trying to route multiple HTTP methods (GET and POST) to display the same content. For instance, I have a register page:

$app->map('/admin/register', function () use ($app) {
    $app->render('/admin/register.twig');
})->via('GET', 'POST');

This will display the register form upon GET and POST requests. I then want to specify 'extra stuff' to happen on POST.

$app->map('/admin/register', function () use ($app) {
    $app->render('/admin/register.twig');
})->via('GET', 'POST');

$app->post('/admin/register', function () use ($app) {
    // Validate register information
});

However, the second function is being ignored. I want to do this so that I can then display error messages above the register form. How would I go about achieving this?

  • 写回答

2条回答 默认 最新

  • dswwuo1223 2012-04-28 04:47
    关注

    If you don't want the post route to be ignored by Slim, you need to use the 'pass' helper in your generic map route, like so:

    $app->map('/admin/register', function () use ($app) {
        if($app->request()->isPost()) {
           $app->pass();
        }
        $app->render('/admin/register.twig');
    })->via('GET', 'POST');
    
    $app->post('/admin/register', function () use ($app) {
        // Validate register information
    });
    

    Here's the documentation on it: http://www.slimframework.com/documentation/develop#routing-helpers-pass

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?