/** * 获取路由实例管理实例 */ private function get_serv_route_instance() { if ($this->serv_route_instance === NULL) { $this->serv_route_instance = ServRouteInstance::getInstance(ServRouteConfig::getInstance()); } return $this->serv_route_instance; }
/** * 获取路由实例管理实例 */ protected function getServRouteInstance() { if ($this->servRouteInstance === NULL) { $this->servRouteInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance()); } return $this->servRouteInstance; }
/** * 清除打折缓存 * * @param int $id * @return Boolean */ public static function delete_memcache($id) { $route = 'promotion'; $route_key = $id . '_' . $route; $line_key = array('id' => $id); $cacheInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance())->getMemInstance($route, $line_key)->getInstance(); $cacheInstance->delete($route_key); return TRUE; }
function __initialize($dbInstance = NULL, $idSet = NULL) { if ($dbInstance !== NULL) { $this->dbInstance = $dbInstance; } else { if ($this->dbInstance === NULL) { $this->servRouteInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance()); if (empty($idSet)) { $this->dbInstance = $this->servRouteInstance->getDbInstance($this->objectName)->getInstance(); } else { if (!is_array($idSet)) { $routeSet = array('id' => $idSet); } else { $routeSet = $idSet; } $this->dbInstance = $this->servRouteInstance->getDbInstance($this->objectName, $routeSet)->getInstance(); } //$this->dbInstance = $this->servRouteInstance->getDbInstance()->getInstance(); } } // Load field information $this->reloadFields(); }
public function sandbox() { $returnStruct = array('status' => 0, 'code' => 501, 'msg' => _('Not Implemented'), 'content' => array()); try { //* 初始化返回数据 */ $returnStatus = 1; $returnCode = 200; $returnMessage = ''; $returnData = array(); //* 收集请求数据 ==根据业务逻辑定制== */ $getData = $this->input->get(); $postData = $this->input->post(); empty($getData) && ($getData = array()); empty($postData) && ($postData = array()); $requestData = array_merge($getData, $postData); //* 实现功能后屏蔽此异常抛出 */ //throw new MyRuntimeException(_('Not Implemented'),501); //* 权限验证,数据验证,逻辑验证 ==根据业务逻辑定制== */ // if(util::isAccess(array(Logon::$MGR_ROLE_LABEL_SYS_ADMIN,), array(Logon::$MGR_ROLE_LABEL_DENIED,Logon::$MGR_ROLE_LABEL_GUEST), $this->getMgrRole())==FALSE){ // throw new MyRuntimeException(_('Access Denied'),403); // } //* 权限验证 ==根据业务逻辑定制== */ //* 数据验证 ==根据业务逻辑定制== */ //* 逻辑验证 ==根据业务逻辑定制== */ // 调用底层服务 // 执行业务逻辑 !isset($servRouteInstance) && ($servRouteInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance())); //$seqService = Seq_Service::getInstance($servRouteInstance); //$tempId = $seqService->currentSeq('Temp'); //print("<div id=\"do_debug\" style=\"clear:both;display:;\"><pre>\n".var_export($tempId,TRUE)."\n</pre></div>"); //exit; // $myTemp = Temp_Service::getInstance($servRouteInstance); //// $myt1 = Temp_Service::factory($servRouteInstance); //// $myt2 = Temp_Service::factory($servRouteInstance); // $reqObj = array('name'=>'abc'.util::reRandStr(3),'val'=>'123abc'); // $retId = $myTemp->add($reqObj); // print("<div id=\"do_debug\" style=\"clear:both;display:;\"><pre>\n".var_export($retId,TRUE)."\n</pre></div>"); // // $retObj = $myTemp->get($retId); // print("<div id=\"do_debug\" style=\"clear:both;display:;\"><pre>\n".var_export($retObj,TRUE)."\n</pre></div>"); // exit; // $tobj1 = $myTemp->get(1); // $tobj2 = $myt1->get(2); // $tobj3 = $myt2->get(1); // print("<div id=\"do_debug\" style=\"clear:both;display:;\"><pre>\n".var_export($tobj1,TRUE)."\n</pre></div>"); // print("<div id=\"do_debug\" style=\"clear:both;display:;\"><pre>\n".var_export($tobj2,TRUE)."\n</pre></div>"); // print("<div id=\"do_debug\" style=\"clear:both;display:;\"><pre>\n".var_export($tobj3,TRUE)."\n</pre></div>"); // exit; // /* == thrift 调用样例 Start == */ // // thrift 相关调用 // require_once $GLOBALS['THRIFT_ROOT'].'/Thrift.php'; // require_once $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php'; // require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php'; // require_once $GLOBALS['THRIFT_ROOT'].'/transport/THttpClient.php'; // require_once $GLOBALS['THRIFT_ROOT'].'/transport/TBufferedTransport.php'; // // thrift 应用接口相关调用接口类定义库 // $GEN_DIR = $GLOBALS['THRIFT_ROOT'].'/packages/zr4u'; // require_once $GEN_DIR.'/MyappInterface.php'; // require_once $GEN_DIR.'/zr4u_constants.php'; // require_once $GEN_DIR.'/zr4u_types.php'; // try { // // thrift 服务调用 // $socket = new TSocket(Lemon::config('thrift.default.Host'), Lemon::config('thrift.default.Port')); // $transport = new TBufferedTransport($socket, 1024, 1024); // $protocol = new TBinaryProtocol($transport); // $client = new ExpoInterfaceClient($protocol); // $transport->open(); // //接口业务逻辑 // $serviceVersion = $client->getVER(); // // //通讯关闭 // $transport->close(); // } catch (TException $ex) { // //print 'TException: '.$tx->getMessage()."\n"; // throw new MyRuntimeException(_('Server Communication Error'),500); // } // $returnData['serviceVersion']=$serviceVersion; // // /* == thrift 调用样例 End == */ // /* == FS 调用样例 Start == */ // // 调用路由实例 // $servRouteInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance()); // // // 当前应用模块 // $currentModuleName = 'attach'; // // 收集数据特征 // $testUserId = intval(date('YWHi',strtotime('2010-04-06 11:11:00'))); // $crts = time(); // //获取对应服务的路由实例 // $fsInst_attach = $servRouteInstance->getFsInstance($currentModuleName,array('userId'=>$testUserId,'crts'=>$crts))->getInstance(); // // // 调用对应服务的对应调用方法使用服务 // $fileKey = 'myfile_'.date('YmdHi',strtotime('2010-04-06 11:11:00')); // $putFileContent = md5(uniqid(rand(), true)); // // $saveOk = $fsInst_attach->putFileData($fileKey,$putFileContent); // $getFileContent = $fsInst_attach->getFileData($fileKey); // // $returnData['fileKey'] = $fileKey; // $returnData['saveOK'] = $saveOk?'Yes':'No'; // $returnData['putContent'] = $putFileContent; // $returnData['getContent'] = $getFileContent; // $returnData['match'] = $getFileContent==$putFileContent?'Yes':'No'; // // /* == FS 调用样例 End == */ // /* == Db 调用样例 Start == */ // // 调用路由实例 // !isset($servRouteInstance) && $servRouteInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance()); // //获取对应服务的路由实例 // !isset($dbInst_default) && $dbInst_default = $servRouteInstance->getDbInstance()->getInstance(); // $results = $dbInst_default->get_results("SHOW COLUMNS FROM Manager", OBJECT); // $returnData['dbresult'] = $results; // /* == Db 调用样例 End == */ $returnMessage = 'Test Ok'; //* 补充&修改返回结构体 */ $returnStruct['status'] = $returnStatus; $returnStruct['code'] = $returnCode; $returnStruct['msg'] = $returnMessage; $returnStruct['content'] = $returnData; //* 请求类型 */ if ($this->isAjaxRequest()) { // ajax 请求 // json 输出 $this->template->content = $returnStruct; } else { // html 输出 //* 模板输出 */ $this->template->returnStruct = $returnStruct; $content = new View($this->packageName . '/' . $this->className . '/' . __FUNCTION__); //* 变量绑定 */ $this->template->title = Lemon::config('site.name'); $this->template->content = $content; //* 请求结构数据绑定 */ $this->template->content->requestData = $requestData; //* 返回结构体绑定 */ $this->template->content->returnStruct = $returnStruct; //:: 当前应用专用数据 $this->template->content->title = Lemon::config('site.name'); } // end of request type determine } catch (MyRuntimeException $ex) { $returnStruct['status'] = 0; $returnStruct['code'] = $ex->getCode(); $returnStruct['msg'] = $ex->getMessage(); //TODO 异常处理 //throw $ex; if ($this->isAjaxRequest()) { $this->template->content = $returnStruct; } else { $this->template->returnStruct = $returnStruct; $content = new View('info'); $this->template->content = $content; //* 请求结构数据绑定 */ $this->template->content->requestData = $requestData; //* 返回结构体绑定 */ $this->template->content->returnStruct = $returnStruct; } } }
/** * rpc服务 */ public function attachment() { $returnStruct = array('status' => 0, 'code' => 501, 'msg' => _('Not Implemented'), 'content' => array()); try { //* 初始化返回数据 */ $returnStatus = 1; $returnCode = 200; $returnMessage = ''; $returnData = array(); //* 收集请求数据 ==根据业务逻辑定制== */ $requestData = $this->input->get(); //* 实现功能后屏蔽此异常抛出 */ //throw new MyRuntimeException(_('Not Implemented'),501); //* 权限验证,数据验证,逻辑验证 ==根据业务逻辑定制== */ //if(util::isAccess(array(Logon::$MGR_ROLE_LABEL_SYS_ADMIN,), array(Logon::$USER_ROLE_LABEL_DENIED,Logon::$USER_ROLE_LABEL_GUEST), $this->getUserRoleLabel())==FALSE){ // throw new MyRuntimeException(_('Access Denied'),403); //} if (util::isAccess('*', array(Logon::$USER_ROLE_LABEL_DENIED), $this->getUserRoleLabel()) == FALSE) { throw new MyRuntimeException(_('Access Denied'), 403); } //* 权限验证 ==根据业务逻辑定制== */ //* 数据验证 ==根据业务逻辑定制== */ //* 逻辑验证 ==根据业务逻辑定制== */ // 调用底层服务 !isset($servRouteInstance) && ($servRouteInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance())); // 执行业务逻辑 require_once Lemon::find_file('vendor', 'phprpc/phprpc_server', TRUE); $server = new PHPRPC_Server(); $server->add(array('phprpc_addAttachmentFileData', 'phprpc_getAttachmentDataById', 'phprpc_getStoreDataByStoreId', 'phprpc_getStoreDataByAttachmentId', 'phprpc_removeAttachmentDataByAttachmentId', 'phprpc_getStoreInfoByStoreId'), Attachment_Service::getInstance()); $server->start(); exit; throw new MyRuntimeException(_('Internal Error'), 500); //* 补充&修改返回结构体 */ $returnStruct['status'] = $returnStatus; $returnStruct['code'] = $returnCode; $returnStruct['msg'] = $returnMessage; $returnStruct['content'] = $returnData; //* 请求类型 */ if ($this->isAjaxRequest()) { // ajax 请求 // json 输出 $this->template->content = $returnStruct; } else { // html 输出 //* 模板输出 */ $this->template->returnStruct = $returnStruct; $content = new View('info'); //* 变量绑定 */ $this->template->title = Lemon::config('site.name'); $this->template->content = $content; //* 请求结构数据绑定 */ $this->template->content->requestData = $requestData; //* 返回结构体绑定 */ $this->template->content->returnStruct = $returnStruct; //:: 当前应用专用数据 $this->template->content->title = Lemon::config('site.name'); } // end of request type determine } catch (MyRuntimeException $ex) { $returnStruct['status'] = 0; $returnStruct['code'] = $ex->getCode(); $returnStruct['msg'] = $ex->getMessage(); //TODO 异常处理 //throw $ex; if ($this->isAjaxRequest()) { $this->template->content = $returnStruct; } else { $this->template->returnStruct = $returnStruct; $content = new View('info'); $this->template->content = $content; //* 请求结构数据绑定 */ $this->template->content->requestData = $requestData; //* 返回结构体绑定 */ $this->template->content->returnStruct = $returnStruct; } } }
/** * 删除数据 action */ public function delete() { $returnStruct = array('status' => 0, 'code' => 501, 'msg' => _('Not Implemented'), 'content' => array()); try { // 是否调用本地服务 $useLocalService = TRUE; //$useLocalService = FALSE; //* 初始化返回数据 */ $returnStatus = 1; $returnCode = 200; $returnMessage = ''; $returnData = array(); //* 收集请求数据 ==根据业务逻辑定制== */ $requestData = $this->input->get(); //* 实现功能后屏蔽此异常抛出 */ //throw new MyRuntimeException(_('Not Implemented'),501); //* 权限验证,数据验证,逻辑验证 ==根据业务逻辑定制== */ //if(util::isAccess(array(Logon::$MGR_ROLE_LABEL_SYS_ADMIN,), array(Logon::$USER_ROLE_LABEL_DENIED,Logon::$USER_ROLE_LABEL_GUEST), $this->getUserRoleLabel())==FALSE){ // throw new MyRuntimeException(_('Access Denied'),403); //} if (util::isAccess('*', array(Logon::$USER_ROLE_LABEL_DENIED), $this->getUserRoleLabel()) == FALSE) { throw new MyRuntimeException(_('Access Denied'), 403); } //* 权限验证 ==根据业务逻辑定制== */ //* 数据验证 ==根据业务逻辑定制== */ if (!isset($requestData['id']) || empty($requestData['id']) || !is_numeric($requestData['id'])) { throw new MyRuntimeException(_('Bad Request,id required'), 400); } //* 逻辑验证 ==根据业务逻辑定制== */ // 调用底层服务 !isset($servRouteInstance) && ($servRouteInstance = ServRouteInstance::getInstance(ServRouteConfig::getInstance())); // 执行业务逻辑 // TODO 根据数据特征定制对应的服务实例 if ($useLocalService == TRUE) { !isset($attachmentService) && ($attachmentService = Attachment_Service::getInstance($servRouteInstance)); } else { require_once Lemon::find_file('vendor', 'phprpc/phprpc_client', TRUE); !isset($attachmentService) && ($attachmentService = new PHPRPC_Client(Lemon::config('phprpc.remote.Attachment.host'))); !isset($phprpcApiKey) && ($phprpcApiKey = Lemon::config('phprpc.remote.Attachment.apiKey')); } try { if ($useLocalService == TRUE) { $attachmentService->removeAttachmentDataByAttachmentId($requestData['id']); } else { $args = array($requestData['id']); $sign = md5(json_encode($args) . $phprpcApiKey); $attachmentService->phprpc_removeAttachmentDataByAttachmentId($requestData['id'], $sign); } } catch (MyRuntimeException $ex) { //* ==根据业务逻辑定制== */ //FIXME 根据service层的异常做一些对应处理并抛出用户友好的异常Message throw $ex; } $returnMessage = _('Sucess'); //* 补充&修改返回结构体 */ $returnStruct['status'] = $returnStatus; $returnStruct['code'] = $returnCode; $returnStruct['msg'] = $returnMessage; $returnStruct['content'] = $returnData; //* 请求类型 */ if ($this->isAjaxRequest()) { // ajax 请求 // json 输出 $this->template->content = $returnStruct; } else { // html 输出 //* 模板输出 */ $this->template->returnStruct = $returnStruct; $content = new View('info'); //* 变量绑定 */ $this->template->title = Lemon::config('site.name'); $this->template->content = $content; //* 请求结构数据绑定 */ $this->template->content->requestData = $requestData; //* 返回结构体绑定 */ $this->template->content->returnStruct = $returnStruct; //:: 当前应用专用数据 $this->template->content->title = Lemon::config('site.name'); } // end of request type determine } catch (MyRuntimeException $ex) { $returnStruct['status'] = 0; $returnStruct['code'] = $ex->getCode(); $returnStruct['msg'] = $ex->getMessage(); //TODO 异常处理 //throw $ex; if ($this->isAjaxRequest()) { $this->template->content = $returnStruct; } else { $this->template->returnStruct = $returnStruct; $content = new View('info'); $this->template->content = $content; //* 请求结构数据绑定 */ $this->template->content->requestData = $requestData; //* 返回结构体绑定 */ $this->template->content->returnStruct = $returnStruct; } } }
public static function clear_uris() { return; $serv_route_instance = ServRouteInstance::getInstance(ServRouteConfig::getInstance()); $cacheInstance = $serv_route_instance->getMemInstance('doc_uris', array('id' => $site_id))->getInstance(); $route_key = 'doc_uris_'; $cacheInstance->delete($route_key, 0); }