2017-01-30 12 views
0

Начнем с примера.GuzzleHttp Client - данные случайной формы

если я исправил параметр формы (имя, адрес электронной почты, телефон), то жрать Почтовый индекс метода будет выглядеть так:

public function test(Request $request){ 
$client = new \GuzzleHttp\Client(); 

    $url = www.example.com 

    $res = $client->post($url.'/article',[ 
     'headers' => ['Content-Type' => 'multipart/form-data'], 
     'body' => json_encode([ 
      'name' => $request['name'], 
      'email' => $request['email'], 
      'write_article' => $request['article'], 
      'phone' => $request['phone'], 
     ]) 
    ]); 
} 

Приведенных выше код работает отлично.

Но когда у вас нет параметра фиксированной формы, то как отправить данные с помощью Guzzle?

Foe пример первый раз, когда я отправил форму у меня есть имя, адрес электронной почты, телефон поле. в следующий раз могут быть поля имя, адрес электронной почты, телефон, имя отца, имя_мани, проценты и т. д.. в следующий раз может быть, это будет имя, адрес электронной почты, имя отца

Итак, как работать с этой динамичной ситуацией в поле формы?

ответ

1

Попробуйте это:

public function test(Request $request) 
{ 
    $client = new \GuzzleHttp\Client(); 
    $url = 'www.example.com'; 

    $body = []; 

    // exceptions, for when you want to rename something 
    $exceptions = [ 
     'article' => 'write_article', 
    ]; 

    foreach ($request as $key => $value) { 
     if (isset($exceptions[$key])) { 
      $body[$exceptions[$key]] = $value; 
     } else { 
      $body[$key] = $value; 
     } 
    } 

    $res = $client->post($url.'/article',[ 
     'headers' => ['Content-Type' => 'multipart/form-data'], 
     'body' => json_encode($body) 
    ]); 
} 
+0

На другом конце я имею в виду **/** статьи конец маршрута, как получить параметр тела? Я попробовал ** print_r ($ request) ** с этой стороны, но ничего не могу получить. Есть идеи ? – Dhaval

+0

Как вы пытаетесь это увидеть? – motanelu

+0

если я прохожу ** $ body [имя] = john; ** от жужжания до **/статьи ** маршрут, то как получить ** name = jone ** on **/article ** side? – Dhaval