Изменить:
Хорошо, теперь я понял, что вы хотите. Я не знаю, является ли это лучшим способом, но вы могли бы попробовать это (в представлении):
url_for('foo',
array_merge($sf_request->getParameterHolder()->getAll(),
array('bar' => 'barz'))
)
Если вы используете это очень часто, я предлагаю создать свой собственный помощник, который работает как оболочка для url_for
.
Или, если вы хотите только подмножество параметров запроса, сделайте следующее:
url_for('foo',
array_merge($sf_request->extractParameters(array('parameter1', 'parameter3')),
array('bar' => 'barz'))
)
(я форматировал код таким образом для лучшей читаемости)
Оригинальный ответ:
Я не знаю, где вы хотите изменить параметр (в контроллере?), Но если у вас есть доступ к текущему объекту sfRequest
, это должно сделать это:
$request->setParameter('key', 'value')
Вы можете получить объект запроса, либо определив свое действие следующим образом:
public function executeIndex($request) {
// ...
}
или это
public function executeIndex() {
$request = $this->getRequest();
}