При использовании PHP curl API, если я случайно использую строку с опцией CURLOPT_HTTPHEADER
curl
curl_setopt($ch, CURLOPT_HTTPHEADER, 'User-Agent: php-curl');
PHP будет ругать меня
Предупреждение: curl_setopt ():Вы должны передать объект или массив с аргументом CURLOPT_HTTPHEADER в /path/to/test.php в строке 32
Я знаю, что это можно исправить с помощью массива
$headers = [];
$headers[] = 'User-Agent: php-curl';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
Однако, как представляется, предупреждение указывает на то, что я также могу передать curl_setopt
объект.Это возможно?
Я пробовал и с stdClass
, и с ArrayObject
, но ни один из них не работает.Это только вводящее в заблуждение предупреждающее сообщение или есть способ использовать curl_setopt
с объектом?
Обновление Оказывается, у меня установлено расширение PHP, которое блокировалостандартное поведение.ArrayObjects отлично работают в этой функции.Я не могу закрыть или удалить этот вопрос, поэтому, надеюсь, это предупреждение поможет избежать путаницы.