переменное количество параметров из url / paramname / valueparam в массиве? - PullRequest
0 голосов
/ 08 июля 2010

В основном я хотел бы прочитать параметры URL в массиве, чтобы поиск параметров не зависел от их места в URL

У меня есть URL для поиска с controller/action/paramA/valueparamA/paramB/valueparamB Эти параметры необязательны: у меня есть прямойurl с параметрами поиска внутри

, чтобы прочитать параметры из url, мы должны использовать действие (valueparamA, valueparamB), но для меня это кажется очень жестким, я хочу читать параметры по их имени, а не по их месту в url!

, поэтому я могу иметь разные URL-адреса, такие как

urlA = controller/action?paramA=valueA 
*(or controller/action/paramA/valueA)*
urlB controller/action?paramB=valueB

, чем я могу использовать с тем же действием, как мы делаем с формой с массивом $ _POST (он и $ _GET [} кажутся всегда пустымипри прямом URL-параметрах) лучше всего иметь все параметры в массиве [paramname => paramvalue], как в форме

, что я НЕ хочу, чтобы использовать разные действия для различных параметров!:)

лучшее, что я видел, было использовать juste для массива, как параметр:

controller/action/array[paramname=>paramvalue]

( передача массивов в качестве параметра url ), но это, кажется, усложняет что-то основное: просто прочитайте нормальные параметры URL, как знает каждый фреймворк :) с

url?nameparam=valueparam&...

надеюсь, что есть решение!Я начинаю действительно как легкий и быстрый CI, но иногда (как для расширяющейся модели) это кажется немного "жестким";)

думаю заранее для любой идеи!

1 Ответ

0 голосов
/ 08 июля 2010

Да, класс URI предоставляет эту функцию в виде

$this->uri->uri_to_assoc(n);

. Возвращает массив, содержащий все параметры (ключи и значения должны быть определены в URL).

Полная информацияможно найти в Руководстве пользователя Codigniter:

http://codeigniter.com/user_guide/libraries/uri.html

...