SYmfony路由从url获取参数
我想从symfony 2中的链接获取一个参数 当我从url中删除链接时,我应该转发到索引页面,并获取令牌参数的值。 我的链接如下SYmfony路由从url获取参数,symfony,routing,Symfony,Routing,我想从symfony 2中的链接获取一个参数 当我从url中删除链接时,我应该转发到索引页面,并获取令牌参数的值。 我的链接如下 http://www.myapp.com/?token=khdfhgkdfjghjdfgd354dfgdfg454dfg 所以在我的控制器中,我应该得到令牌的值 如何在symfony 2中实现这一点,在路由symfony 2中。操作当然是get,但我如何在路由文件中执行此操作 谢谢这是一项简单的任务,只需在控制器方法中键入hint请求对象,如下所示 use Sens
http://www.myapp.com/?token=khdfhgkdfjghjdfgd354dfgdfg454dfg
所以在我的控制器中,我应该得到令牌的值
如何在symfony 2中实现这一点,在路由symfony 2中。操作当然是get,但我如何在路由文件中执行此操作
谢谢这是一项简单的任务,只需在控制器方法中键入hint请求对象,如下所示
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)
{
// ...
}
}
您可以这样做:
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');
}
或者您可以在方法参数中添加$token,symfony将自动为参数赋值。@Emna但是,我强烈建议您做出一些努力,并查看官方文档!参数
$Request
之前的Request
是什么意思?@PomCanys它是typehint(查看)。Symfony使用它来知道哪个动作参数是请求参数。@EmanuelOster感谢您的解释。那么,Request
是不是只有Symphony使用的东西呢?因为在PHP文档中,我找不到作为有效类型的Request
。