Zend_Service_Rest
是一个的REST客户端,他用来对基于REST的web service进行查询
.
例 15.1. 一个基本的 REST 请求
在下面的代码中,首先使用 setUri()
方法设置REST web service的 base URI
. 然后,调用restGet()
方法来对指定的路径(可以附加查询参数)执行一个GET请求.
<?php require_once 'Zend/Service/Rest.php; try { $rest = new Zend_Service_Rest(); $rest->setURI('http://example.org'); // 返回一个 Zend_HttpClient_Response 对象 $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>'; } ?>
注意 | |
---|---|
你可以传递一个格式标准的url查询参数(没有 "? ") 到
restGet() , 或者你可以传递一个包含名称->数值的关联数组给它.
无论你执行的是那个方法, 你都要对名称和数值进行URL编码(比如用
urlencode() ).
|
restPost()
和 restPut()
的用法和 restGet()
相同, 只不过数据传输的方式不同
,通过 HTTP POST 或 PUT来代替GET.
restDelete()
方法用来操作一个路径, 但它不包含第二个参数来传递查询参数和数据.