Ну, чтобы ответить на ваш вопрос, вам не нужно разбирать их, они являются частью запроса и должны однозначно определять запрос. Например, у вас есть следующий хорошо известный пример:
# routing.yml:
dummy_page_homepage:
pattern: /hello/{name}
defaults: { _controller: DummyPageBundle:Default:index }
// DefaultController.php
public function indexAction($name)
{
return $this->render('DummyPageBundle:Default:index.html.twig', array('name' => $name));
}
Посмотрите, как {name} и $ name подходят? Это означает что-либо после того, как/hello/... разобран и передан параметру функции имени, который вы можете использовать по своему усмотрению. Если бы вы просто получили/привет, без каких-либо изменений в вашем запросе url, вы бы не обнаружили исключение. Маршруты уникальны, и имена и числа параметров определяют, какой маршрут будет выполнен.
Теперь, из вашего вопроса, я думаю, вы хотите иметь неизвестное количество таких параметров. Я не думаю, что это возможно в Symfony. Честно говоря, я не думаю, что это возможно в любой среде MVC. Я думаю, вы выбрали неправильный подход. Это то, что я сделал бы, если бы был вами.
Прежде всего, кажется, вы пытаетесь отправить данные на сервер для какой-либо функции вставки/обновления. Глядя на стандарты HTTP, запрос GET должен делать то, что говорит его имя, извлекать что-то с сервера, не изменяя его. Это означает, что вы должны использовать запрос POST. Если это так, вы можете хранить такие длинные переменные, как переменные POST, и отправлять их на сервер без особых проблем. Затем вы можете использовать логику сервера для извлечения и анализа этих переменных (Symfony упрощает получение переменных GET или POST с использованием экземпляра объекта запроса). Кроме того, я уверен (хотя и не на 100%), что вы можете использовать только ограниченное количество данных в GET-переменной, а также длина самой части запроса также ограничена. Вот почему вы должны использовать переменные POST. Вы также можете отправлять переменную массива POST, если она лучше подходит для вашего прецедента и наполняет значения part1, part2 ... partn как значения массива.
Надеюсь, это даст вам еще одну точку зрения на вашу проблему. Если вы хотите обсудить это дальше, просто стреляйте.
Подтверждено не из-за кода, а из объяснения. Действительно, мне нужны были данные POST для передачи произвольных данных. – Benj