当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Service_Delicious::_lastRequestTime方法代码示例

本文整理汇总了PHP中Zend_Service_Delicious::_lastRequestTime方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Service_Delicious::_lastRequestTime方法的具体用法?PHP Zend_Service_Delicious::_lastRequestTime怎么用?PHP Zend_Service_Delicious::_lastRequestTime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend_Service_Delicious的用法示例。


在下文中一共展示了Zend_Service_Delicious::_lastRequestTime方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: makeRequest

    /**
     * Handles all GET requests to a web service
     *
     * @param  string $path  Path
     * @param  array  $parms Array of GET parameters
     * @param  string $type  Type of a request ("xml"|"json")
     * @return mixed  decoded response from web service
     */
    public function makeRequest($path, array $parms = array(), $type = 'xml')
    {
        // if previous request was made less then 1 sec ago
        // wait until we can make a new request
        $timeDiff = microtime(true) - self::$_lastRequestTime;
        if ($timeDiff < 1) {
            usleep((1 - $timeDiff) * 1000000);
        }

        $this->_rest->getHttpClient()->setAuth($this->_authUname, $this->_authPass);

        switch ($type) {
            case 'xml':
                $this->_rest->setUri(self::API_URI);
                break;
            case 'json':
                $parms['raw'] = true;
                $this->_rest->setUri(self::JSON_URI);
                break;
            default:
                /**
                 * @see Zend_Service_Delicious_Exception
                 */
                require_once 'Zend/Service/Delicious/Exception.php';
                throw new Zend_Service_Delicious_Exception('Unknown request type');
        }

        self::$_lastRequestTime = microtime(true);
        $response = $this->_rest->restGet($path, $parms);

        if (!$response->isSuccessful()) {
            /**
             * @see Zend_Service_Delicious_Exception
             */
            require_once 'Zend/Service/Delicious/Exception.php';
            throw new Zend_Service_Delicious_Exception("Http client reported an error: '{$response->getMessage()}'");
        }

        $responseBody = $response->getBody();

        switch ($type) {
            case 'xml':
                $dom = new DOMDocument() ;

                if (!@$dom->loadXML($responseBody)) {
                    /**
                     * @see Zend_Service_Delicious_Exception
                     */
                    require_once 'Zend/Service/Delicious/Exception.php';
                    throw new Zend_Service_Delicious_Exception('XML Error');
                }

                return $dom;
            case 'json':
                return Zend_Json_Decoder::decode($responseBody);
        }
    }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:65,代码来源:Delicious.php

示例2: makeRequest

 /**
  * Handles all GET requests to a web service
  *
  * @param string $path Path
  * @param array $parms Array of GET parameters
  * @param string $type Type of a request xml|json
  * @return DOMDocument response from web service
  */
 public function makeRequest($path, $parms = array(), $type = 'xml')
 {
     settype($parms, 'array');
     // if previous request was made less then 1 sec ago
     // wait until we can make a new request
     $timeDiff = microtime(true) - self::$_lastRequestTime;
     if ($timeDiff < 1) {
         usleep((1 - $timeDiff) * 1000000);
     }
     $this->_http->resetParameters();
     foreach ($parms as $f_parm => $f_value) {
         $this->_http->setParameterGet($f_parm, $f_value);
     }
     switch ($type) {
         case 'xml':
             $this->_http->setUri(self::API_URI . $path);
             break;
         case 'json':
             $this->_http->setUri(self::JSON_URI . $path);
             $this->_http->setParameterGet('raw', true);
             break;
         default:
             throw new Zend_Service_Delicious_Exception('Unknown request type');
     }
     self::$_lastRequestTime = microtime(true);
     $response = $this->_http->request(Zend_Http_Client::GET);
     if (!$response->isSuccessful()) {
         throw new Zend_Service_Delicious_Exception("Http client reported an error: '{$response->getMessage()}'");
     }
     $responseBody = $response->getBody();
     switch ($type) {
         case 'xml':
             $dom = new DOMDocument();
             if (!@$dom->loadXML($responseBody)) {
                 throw new Zend_Service_Delicious_Exception('XML Error');
             }
             return $dom;
         case 'json':
             return Zend_Json::decode($responseBody);
     }
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:49,代码来源:Delicious.php


注:本文中的Zend_Service_Delicious::_lastRequestTime方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。