В одном из проектов мне пришлось использовать сурл для парсинга внешних ресурсов и сохранение данных на свое стороне. Обычно я использую встроенное расширение php, которое достаточно очень гибкое и на которое жаловатся у меня нет причины, но всё же решил использовать расширение для yii2.
Экстеншен можно взять здесь http://www.yiiframework.com/extension/yii2-curl/
В принципе в документации и так всё доступно и понятно, но всё же я повторюсь.
Установка осуществляется полностью из composer
Достаточно набрать команду
root@kostiahome:/var/www/wap/www# composer require --prefer-dist "linslin/yii2-curl:*"
Сразу хочу упомянуть, что composer у меня как встроенная команда и запускается из любого места.
После в контролёр или в модель необходимо прописать подключение нэймспейса curl после строчки namespase
use linslin\yii2\curl;
Метод будет выглядеть так
public function actionCurl($value =0)
{
$url = 'http://yandex.ru/search/';
$curl = new curl\Curl();
//post http://example.com/, reset request before
$response = $curl->reset()->setOption(
CURLOPT_POSTFIELDS,
http_build_query(array(
'text' => $value
)
))->post($url);
return $curl->response;
}