#php #zend-framework
#php #zend-framework
Вопрос:
Я работаю с внешним веб-сервисом API, который возвращает значение true или false в формате json. Я захожу на URL, подобный
http://site.com/api/valid
и это дает мне что-то вроде этого, которое выглядит как json
"true"
Прямо сейчас я просматриваю URL вручную, но теперь я хочу сделать это программно из моего проекта zend. Что я должен использовать, чтобы получить правильный результат
Ответ №1:
существует множество способов. Самый простой — использовать file_get_contents()
.
$result = file_get_contents("http://site.com/api/valid");
// if result is truly json
// data will be
// array( 0 => true)
$data = json_decode($result);
Если это популярный веб-сервис. возможно, для этого уже написана библиотека. Это предпочтительнее, поскольку оно будет обрабатывать условия ошибки и угловые случаи. Сначала найдите его в Google.
Ответ №2:
Похоже, вам нужен метод, который может захватить конечную точку. Ну, есть много способов, но поскольку вы уже используете Zend, вы могли бы также прочитать о http://framework.zend.com/manual/1.11/en/zend.http.client.adapters.html
Вот статический метод:
static function curl($url, $method, $params = array()){
$client = new Zend_Http_Client($url);
if($method == "POST"){
$client->setParameterPOST($params);
}else{
$client->setParameterGet($params);
}
$response = $client->request($method);
return $response->getBody();
}
Или используйте собственный метод php $response = file_get_contents($url);
Обязательно используйте json_decode() для своих ответов.