How can you add query parameters in the ZF2 / ZF3 url view helper

Ross picture Ross · Oct 8, 2012 · Viewed 30.2k times · Source

I'm attempting to create a url with a query string using a route, like so:

$this->url('users') -> /users
$this->url('users', ['sort' => 'desc']) -> /users?sort=desc

However this doesn't seem to work (the second helper actually outputs /users). According to this unofficial, out-of-date documentation there was once a way to do this by appending /query to the route name, however this gives a route-not-found exception.

Can this be done using the current url helper?

Answer

dVaffection picture dVaffection · Mar 15, 2013

Since version 2.1.4 you come across user error

Query route deprecated as of ZF 2.1.4; use the "query" option of the HTTP router\'s assembling method instead

Usage example:

$name    = 'index/article';
$params  = ['article_id' => $articleId];
$options = [
        'query' => ['param' => 'value'], 
    ];
$this->url($name, $params, $options);