public function _initMemorySet(Yaf\Dispatcher $dispatcher)
 {
     //初始化预定于变量
     \Core\KEY::set('_REQUEST', NULL);
     \Core\KEY::set('_IS_AUTHORIZED', FALSE);
     \Core\KEY::set('_APP', FALSE);
     \Core\KEY::set('_API', FALSE);
     \Core\KEY::set('_RESULT', NULL);
 }
 public function routerShutdown(\Yaf\Request_Abstract $request, \Yaf\Response_Abstract $response)
 {
     //PRETREATMENT REQUEST START -->
     if ($request->controller == 'Api') {
         \Core\KEY::set('_REQUEST', \Process\RequestModel::get($request->method, $request->getParams()));
         \Core\KEY::set('_IS_AUTHORIZED', FALSE);
     }
     //PRETREATMENT REQUEST END <--
 }
 public function routerShutdown(\Yaf\Request_Abstract $request, \Yaf\Response_Abstract $response)
 {
     //PRETREATMENT REQUEST START -->
     if ($request->controller == 'Api' && \Core\KEY::get('_IS_AUTHORIZED')) {
         $_REQUEST = \Core\KEY::get('_REQUEST');
         //API ROUTER START -->
         //路由到对应api from api_config_devel.ini
         $_API = \Process\ApiModel::get($_REQUEST['api']['service'], $_REQUEST['api']['method'], $_REQUEST['method']);
         if ($_API == FALSE || empty($_API)) {
             throw new \Exception('API_ROUTE_ERROR');
         }
         //API ROUTER END <--
         \Core\KEY::set('_API', $_API);
     }
     //PRETREATMENT REQUEST END <--
 }
 public function routerShutdown(\Yaf\Request_Abstract $request, \Yaf\Response_Abstract $response)
 {
     if ($request->controller == 'Api' && \Core\KEY::get('_IS_AUTHORIZED')) {
         $_REQUEST = \Core\KEY::get('_REQUEST');
         $_APP = \Core\KEY::get('_APP');
         //AUTHORIZE START -->
         //授权, with service, method, token
         if ($_APP != FALSE && \Process\AuthorizeModel::authorize($_REQUEST['api']['service'], $_REQUEST['api']['method'], $_APP['role'])) {
             //授权成功
             \Core\KEY::set('_IS_AUTHORIZED', TRUE);
         } else {
             throw new \Exception('PERMISSION_DENIED');
         }
         //AUTHORIZE END <--
     }
 }
 public function routerShutdown(\Yaf\Request_Abstract $request, \Yaf\Response_Abstract $response)
 {
     if ($request->controller == 'Api') {
         $_REQUEST = \Core\KEY::get('_REQUEST');
         \Core\KEY::set('_IS_AUTHORIZED', FALSE);
         //AUTHENTICATE START -->
         //应用认证,appkey,appsecret,ip,count from authorize_config.ini
         $_APP = \Process\AuthorizeModel::authenticate($_REQUEST['access-token'], $_REQUEST['client-ip']);
         if (empty($_APP) || $_APP == FALSE) {
             throw new \Exception('AUTHENTICATE_FAILURE');
         } else {
             \Core\KEY::set('_IS_AUTHORIZED', TRUE);
             \Core\KEY::set('_APP', $_APP);
         }
         //AUTHENTICATE END <--
     }
 }
Beispiel #6
0
 public function indexAction($_service = NULL, $_method = NULL, $_resource = NULL)
 {
     if (\Core\KEY::get('_IS_AUTHORIZED')) {
         $_REQUEST = \Core\KEY::get('_REQUEST');
         $_APP = \Core\KEY::get('_APP');
         $_API = \Core\KEY::get('_API');
         $_RESULT = FALSE;
         $_RETURN_PACKEGE = NULL;
         //API PROCESS START -->
         $_RESULT = \Process\ApiModel::process($_API, $_REQUEST);
         //API PROCESS END <--
         //RESULT PACKAGE START -->
         //接口返回内容封装
         \Core\KEY::set('_RESPONSE', \Process\ApiModel::package($_RESULT));
         //RESULT PACKAGE END <--
     }
     return FALSE;
 }
Beispiel #7
0
 public function key()
 {
     $a = null;
     $start = $this->get_microtime();
     for ($i = 0; $i < 1000; $i++) {
         \Core\KEY::set('test', $i, KEY_STATIC);
         $a = \Core\KEY::get('test', KEY_STATIC);
     }
     $end = $this->get_microtime();
     var_dump($end - $start);
     $start = $this->get_microtime();
     for ($i = 0; $i < 1000; $i++) {
         \Yaf\Registry::set('test', $i);
         $a = \Yaf\Registry::get('test');
     }
     $end = $this->get_microtime();
     var_dump(microtime());
     var_dump($end - $start);
     return FALSE;
 }
 public function dispatchLoopShutdown(\Yaf\Request_Abstract $request, \Yaf\Response_Abstract $response)
 {
     if ($request->controller == 'Api') {
         $_REQUEST = \Core\KEY::get('_REQUEST');
         $_RESPONSE = \Core\KEY::get('_RESPONSE');
         $_ECHO = '';
         switch ($_REQUEST['content-type']) {
             /*case TYPE_JSONP:
               $_result = ($_callback == NULL ? '' : $_callback) .'('.json_encode($_object, JSON_PRETTY_PRINT + JSON_UNESCAPED_UNICODE).');';
               break;*/
             case TYPE_MSGPACK:
                 $_ECHO = msgpack_pack($_RESPONSE);
                 break;
             case TYPE_JSON:
                 $_ECHO = json_encode($_RESPONSE);
                 break;
             default:
                 break;
         }
         \Core\RESPONSE::initialize($response, RESPONSE_TYPE_YAF);
         \Core\RESPONSE::set($_ECHO, RESPONSE_TYPE_BODY);
         \Core\RESPONSE::respond();
     }
 }