使用Zend_Rest_Server做Web Service架构

原创
2016-07-25 09:11:06 751浏览
  1. $base_url = 'http://bbs.it-home.org/';

  2. $client = new Zend_Rest_Client($base_url);
  3. // 设置全局变量

  4. $headers = array();

  5. $client->headers($headers);

  6. // 远程调用, 调用sayHello接口,传递两个字符串参数

  7. $response = $client->sayHello('Hello', 'world!')->get();

  8. if ($this->_request->getParam('debug')) {

  9. echo "
    ";
  10. print_r(json_decode($response, 1));
  11. echo "
  12. ";
  13. } else {
  14. echo $response;
  15. }
复制代码

服务器端:

  1. // 捕获请求头信息

  2. $headers = $this->_request->getParam('headers');
  3. Zend_Registry::set('headers', $headers);
  4. $server = new Zend_Rest_Server();
  5. $server->setClass('Lijiabeibei_Blog');
  6. $server->handle();

  7. //接口处理类:(Lijiabeibei_Blog)

  8. class Lijiabeibei_Blog {
  9. protected $retval = array();

  10. function __construct() {

  11. }

  12. /**

  13. * 测试接口
  14. * @param string $a
  15. * @param string $b
  16. */
  17. function sayHello($a, $b) {
  18. if (!$this->retval['success']) {
  19. $this->retval['debug']= print_r(
  20. Zend_Registry::get('headers'), 1
  21. );
  22. return json_encode($this->retval);
  23. }
  24. $this->retval['debug'] = $a .' '.$b;

  25. return json_encode($this->retval);

  26. }
  27. }

复制代码

如果要设置多个服务类,可以这样: $server = new Ylili_Rest_Server(); $server->setClass('Lijiabeibei_Blog'); $server->setClass('Lijiabeibei_Shop); 注意,多个服务器类的方法命名不要冲突。



声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:使用pear::soap创建web服务的步骤 下一条:php JSON 跨域调用数据的例子

相关文章

查看更多