Что такое правильный способ отправки данных с помощью cURL в PHP? - PullRequest
0 голосов
/ 06 февраля 2009

при использовании cURL в php для отправки данных в POST, вы устанавливаете опцию cURL CURLOPT_POSTFIELDS для данных

вот несколько примеров данных array('foo'=>'bar','ninja'=>'pirate')

Теперь вот где я в замешательстве.

половина примера кода, который я видел, выполняет некоторую предварительную обработку массива, кодирует и помещает данные в правильно отформатированную строку URL.

превращая наш массив данных в: "foo=bar&ninja=pirate" и затем устанавливая эту строку в качестве данных в CURLOPT_POSTFIELDS

но другая половина примеров, которые я видел, просто передает массив непосредственно в CURLOPT_POSTFIELDS, и все.

вводит в заблуждение то, что они оба выполняют свою работу. учитывая, что они оба работают, я не думаю, что любой из них можно назвать «правильным».

Единственное преимущество, которое я вижу в использовании строкового метода, состоит в том, что вы можете установить параметр в URL, который не имеет значения, подобного "foo=bar&awesome&ninja=pirate", и я не знаю, можете ли вы сделать это через ассоциативный массив, поскольку Я не могу иметь ключ без значения (я не думаю), но это кажется пустой тратой памяти, поскольку вы копируете весь массив в строку

1 Ответ

2 голосов
/ 06 февраля 2009

Оба способа приемлемы.

Вопрос в том; Вы бы предпочли написать код, чтобы «замять данные» или создать массив и позволить PHP позаботиться об этом?

Если вы сомневаетесь, если нет причин не выбирать простой вариант, выберите легкий вариант :). В этом случае (насколько мне известно) вы ничего не можете сделать, передав параметры в виде массива, поэтому передайте его как массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...