Php Slim Framework 2.0.0无法使用->;带GET的params()

Php Slim Framework 2.0.0无法使用->;带GET的params(),php,get,slim,Php,Get,Slim,我正在使用SLIM 2.0.0 是否可以将->params()与GET一起使用 在下面的例子中 如果我用POST来称呼它:curl-d“param1=hello¶m2=world”http://localhost/foo它打印:helloworld正确 如果我通过GET调用它:http://localhost/foo/hello/world它打印:什么都没有!! 已解决! 在文档页面中,我阅读了以下内容: HTTP请求可能有相关变量(不要与路由变量混淆)。与当前HTTP请求一起发送的G

我正在使用SLIM 2.0.0

是否可以将->params()与GET一起使用

在下面的例子中

  • 如果我用POST来称呼它:
    curl-d“param1=hello¶m2=world”http://localhost/foo
    它打印:helloworld正确
  • 如果我通过GET调用它:
    http://localhost/foo/hello/world
    它打印:什么都没有!! 已解决! 在文档页面中,我阅读了以下内容:

    HTTP请求可能有相关变量(不要与路由变量混淆)。与当前HTTP请求一起发送的GET、POST或PUT变量通过Slim应用程序的请求对象公开

    如果要快速获取请求变量值而不考虑其类型,请使用请求对象的params()方法:

    在上面的URI中,路由变量/参数从“/foo/hello/world”部分读取。request GET变量从查询字符串('name=brian')读取,可以通过$app->request()->GET('name')或$app->request()->params('name')访问

    请求POST变量是从请求主体解析的,可以访问$app->request()->POST('param1')或$app->request()->params('param1')

    感谢Brian Nesbitt解决了这个问题! 在文档页面中,我阅读了以下内容:

    HTTP请求可能有相关变量(不要与路由变量混淆)。与当前HTTP请求一起发送的GET、POST或PUT变量通过Slim应用程序的请求对象公开

    如果要快速获取请求变量值而不考虑其类型,请使用请求对象的params()方法:

    在上面的URI中,路由变量/参数从“/foo/hello/world”部分读取。request GET变量从查询字符串('name=brian')读取,可以通过$app->request()->GET('name')或$app->request()->params('name')访问

    请求POST变量是从请求主体解析的,可以访问$app->request()->POST('param1')或$app->request()->params('param1')


    多亏了布莱恩·奈斯比特(Brian Nesbitt)

    才不适合我。我正在尝试:
    echo$app->request()->params('id_user')
    其中id\u user是
    $app->get('/get/profile/:id\u user)中的一个参数,function($id\u user)use($app){…
    对我不起作用。我正在尝试:
    echo$app->request()->params('id\u user');
    其中id\u user是
    $app->get('/get/profile/:id\u user)中的一个参数,function($id\u user)use($app){…
    <?php
    require 'Slim/Slim.php';
    
    \Slim\Slim::registerAutoloader();
    $app = new \Slim\Slim();
    $app -> get('/foo/:param1/:param2', 'foo');
    $app -> post('/foo', 'foo');
    $app -> run();
    
    function foo() {
        $request = \Slim\Slim::getInstance() -> request();
        echo $request -> params('param1');
        echo $request -> params('param2');
    }
    ?>
    
    <?php
    $req = $app->request();
    $paramValue = $req->params('paramName');
    
    <?php
    // Get request object
    $req = $app->request();
    
    //GET variable
    $paramValue = $req->get('paramName');
    
    //POST variable
    $paramValue = $req->post('paramName');
    
    http://domain.com/foo/hello/wold?name=brian