How to get the request parameters in Symfony 2?

后端 未结 16 1514
Happy的楠姐
Happy的楠姐 2020-12-02 05:02

I am very new to symfony. In other languages like java and others I can use request.getParameter(\'parmeter name\') to get the value.

Is there anything

相关标签:
16条回答
  • 2020-12-02 05:25

    try

    $request->request->get('acme_demobundle_usertype')['username']
    

    inspect attribute name of your formular field

    0 讨论(0)
  • 2020-12-02 05:25

    If you need getting the value from a select, you can use:

    $form->get('nameSelect')->getClientData();
    
    0 讨论(0)
  • 2020-12-02 05:29
    $request = Request::createFromGlobals();
    $getParameter = $request->get('getParameter');
    
    0 讨论(0)
  • 2020-12-02 05:32

    As now $this->getRequest() method is deprecated you need to inject Request object into your controller action like this:

    public function someAction(Request $request)
    

    after that you can use one of the following.

    If you want to fetch POST data from request use following:

    $request->request->get('var_name');
    

    but if you want to fetch GET data from request use this:

    $request->query->get('var_name');
    
    0 讨论(0)
  • 2020-12-02 05:32

    #www.example/register/admin

      /**
     * @Route("/register/{role}", name="app_register", methods={"GET"})
     */
    public function register(Request $request, $role): Response
    {
     echo $role ;
     }
    
    0 讨论(0)
  • 2020-12-02 05:35

    Your options:

    1. Simple:
      • $request->request->get('param') ($_POST['param']) or
      • $request->query->get('param') ($_GET['param'])
    2. Good Symfony forms with all validation, value transormation and form rendering with errors and many other features:
      • http://symfony.com/doc/current/book/forms.html
      • http://symfony.com/doc/current/cookbook/form/index.html
    3. Something in between (see example below)
    <?php
    /**
     * @Route("/customers", name="customers")
     *
     * @param Request $request
     * @return Response
     */
    public function index(Request $request)
    {
        $optionsResolver = new OptionsResolver();
        $optionsResolver->setDefaults([
            'email' => '',
            'phone' => '',
        ]);
        $filter = $optionsResolver->resolve($request->query->all());
    
        /** @var CustomerRepository $customerRepository */
        $customerRepository = $this->getDoctrine()->getRepository('AppBundle:Customer');
    
        /** @var Customer[] $customers */
        $customers = $customerRepository->findFilteredCustomers($filter);
    
        return $this->render(':customers:index.html.twig', [
            'customers' => $customers,
            'filter' => $filter,
        ]);
    }
    

    More about OptionsResolver - http://symfony.com/doc/current/components/options_resolver.html

    0 讨论(0)
提交回复
热议问题