SYmfony路由从url获取参数

时间:2016-05-20 08:39:44

标签: symfony routing

我想从symfony 2中的链接中获取参数。

当我从url链接到clic时,我应该转发到索引页面,并获取token参数的值。 我的链接如下:

http://www.myapp.com/?token=khdfhgkdfjghjdfgd354dfgdfg454dfg

所以在我的控制器中,我应该得到令牌的值。

如何在symfony 2中,在路由symfony 2.当然是获取的动作,但是我如何在路由文件中执行此操作

感谢

2 个答案:

答案 0 :(得分:3)

这是一个简单的任务,只需在控制器方法中键入提示请求对象,就像这样......

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

class MyController extends Controller
{
    /**
     * @Route("/", name="index")
     */
    public function indexAction(Request $request)
    {
        $token = $request->query->get('token');

        // ... 
    }

    /**
     * @Route("/{token}", name="index_with_token")
     */
    public function indexWithTokenAction(Request $request, $token)
    {    
        // ... 
    }
}

答案 1 :(得分:0)

你可以这样做:

use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;


/**
* @Route("/your-url/{token}",
* defaults={"token"="...."}, name="url_token")
*/
public function yourAction(Request $request) {

    // $_GET parameters
    $request->query->get('name'); // in your case name is token

    // $_POST parameters
    $request->request->get('name');

}