web-dev-qa-db-fra.com

Comment obtenir tous les paramètres de publication dans Symfony2?

Je veux obtenir tous les paramètres de publication d'un symfony Form.

J'ai utilisé :

$all_parameter = $this->get('request')->getParameterHolder()->getAll();

et je reçois cette erreur

Fatal error: Call to undefined method Symfony\Component\HttpFoundation\Request::getParameterHolder() in /Library/WebServer/Documents/Symfony/src/Uae/PortailBundle/Controller/NoteController.php on line 95
28
Mohamed
$this->get('request')->request->all()
83
Mun Mun Das

Symfony Request Objects possède plusieurs propriétés publiques qui représentent différentes parties de la demande. La façon la plus simple de le décrire est probablement de vous montrer le code de Request::initialize()

/**
 * Sets the parameters for this request.
 *
 * This method also re-initializes all properties.
 *
 * @param array  $query      The GET parameters
 * @param array  $request    The POST parameters
 * @param array  $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
 * @param array  $cookies    The COOKIE parameters
 * @param array  $files      The FILES parameters
 * @param array  $server     The SERVER parameters
 * @param string $content    The raw body data
 *
 * @api
 */
public function initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), $content = null)
{
    $this->request = new ParameterBag($request);
    $this->query = new ParameterBag($query);
    $this->attributes = new ParameterBag($attributes);
    $this->cookies = new ParameterBag($cookies);
    $this->files = new FileBag($files);
    $this->server = new ServerBag($server);
    $this->headers = new HeaderBag($this->server->getHeaders());

    $this->content = $content;
    $this->languages = null;
    $this->charsets = null;
    $this->acceptableContentTypes = null;
    $this->pathInfo = null;
    $this->requestUri = null;
    $this->baseUrl = null;
    $this->basePath = null;
    $this->method = null;
    $this->format = null;
}

Donc, comme vous pouvez le voir, Request::$request est un ParameterBag des paramètres POST.

9
Peter Bailey