Zend_Service_Rest é um cliente REST básico para efetuar consultas a qualquer web service baseado em REST.
Exemplo 13.1. Uma requisição REST básica
No código abaixo, o método setUri() seta a URI base para o web service REST. Então, o método restGet() é chamado para executar uma requisição GET para um dado path com uma query string opcional.
<?php
require_once 'Zend/Service/Rest.php;
try {
$rest = new Zend_Service_Rest();
$rest->setURI('http://example.org');
// Returns a Zend_HttpClient_Response Object
$response = $rest->restGet('/services/rest', 'foo=bar&baz=bat');
if ($response->isSuccessful()) {
echo $response->getBody();
} else {
echo '<p>An error occurred</p>';
}
} catch (Zend_Exception $e) {
echo '<p>An error occurred (' .$e->getMessage(). ')<p>';
}
?>
![]() |
Nota |
|---|---|
Você pode passar uma query string devidamente formatada (sem o ponto de interrogação "?") para restGet(), ou voçê pode passar um array associativo pares nome-valor. Independentemente do método escolhido, os nomes e valores devem ser URL-encoded (ex: usando urlencode()).
|
Usar restPost() e restPut() é o mesmo que usar restGet(), mas os dados são enviados via HTTP POST ou PUT, respectivamente, em lugar de GET.
O método restDelete() opera em um path, mas não requer um segundo parâmetro pelo qual os dados podem ser passados.