Использование веб-сервиса из моего проекта Zend

#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() для своих ответов.