コード例 #1
0
 /**
  * @业务系统生成签名
  * @param   array   $params
  * @param   string  $secret
  * @return  string
  */
 public static function createAPISign($params, $secret, $ignore = array())
 {
     foreach ($ignore as $field) {
         unset($params[$field]);
     }
     ksort($params);
     $sortedReq = $secret;
     foreach ($params as $key => $val) {
         $sortedReq .= $key . $val;
     }
     $sortedReq .= $secret;
     LoggerUtil::info($sortedReq);
     return strtolower(md5($sortedReq));
 }
コード例 #2
0
 public function run($name, $args)
 {
     $lastSeparator = strrpos($name, '_');
     $rpcArgs = array('service' => substr($name, 0, $lastSeparator), 'method' => substr($name, $lastSeparator + 1), 'params' => $args);
     try {
         LoggerUtil::info('RPC CALL: ' . json_encode($rpcArgs, JSON_UNESCAPED_UNICODE));
         $serviceName = $this->getServiceName($rpcArgs['service'], false);
         $service = new $serviceName();
         $methodName = $rpcArgs['method'];
         if (!method_exists($service, $methodName)) {
             throw new \Exception(get_lang('METHOD_NOT_FOUND', $methodName));
         }
         $result = call_user_func_array(array($service, $methodName), $rpcArgs['params']);
         LoggerUtil::info('RPC SUCC: ' . json_encode($result, JSON_UNESCAPED_UNICODE));
         return $result;
     } catch (\Exception $e) {
         LoggerUtil::error('RPC FAIL: ' . $e->getMessage());
         return data_pack(get_code('REMOTE_RPC_FAIL'), $e->getMessage());
     }
 }
コード例 #3
0
ファイル: AppInit.php プロジェクト: wanggeopens/own-libs
 private static function logReqInfo()
 {
     $data = array('ip' => HttpUtil::getClientIp(), 'host' => isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '', 'uri' => $_SERVER['REQUEST_URI'], 'query' => $_SERVER['QUERY_STRING'], 'method' => $_SERVER['REQUEST_METHOD'], 'referer' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '', 'cookie' => $_COOKIE, 'params' => $_REQUEST);
     LoggerUtil::info(json_encode($data, JSON_UNESCAPED_UNICODE));
 }
コード例 #4
0
 private static function registCommonService($di, $config)
 {
     $di->setShared('config', $config);
     $di->setShared('profiler', function () {
         return new \Phalcon\Db\Profiler();
     });
     $di->setShared('modelsMetadata', function () use($di, $config) {
         if ('file' == $config->metaData->saveType) {
             $savePath = $config->metaData->savePath;
             if (!file_exists($savePath)) {
                 mkdir($savePath, 0744, true);
             }
             $metaData = new \Phalcon\Mvc\Model\Metadata\Files(array('metaDataDir' => $savePath));
             return $metaData;
         }
     });
     $di->setShared('db_myPhalcon_w', function () use($di, $config) {
         $profiler = $di->getProfiler();
         $eventsManager = new \Phalcon\Events\Manager();
         $eventsManager->attach('db', function ($event, $connection) use($profiler) {
             if ($event->getType() == 'beforeQuery') {
                 $profiler->startProfile($connection->getSQLStatement(), $connection->getSqlVariables(), $connection->getSQLBindTypes());
             }
             if ($event->getType() == 'afterQuery') {
                 $profiler->stopProfile();
                 $profile = $profiler->getLastProfile();
                 LoggerUtil::info(sprintf('SQL %s , cost time : %s', $profile->getSQLStatement(), $profile->getTotalElapsedSeconds()));
             }
         });
         $db = new DbAdapter(array('host' => $config->mysql->myPhalcon_w->host, 'username' => $config->mysql->myPhalcon_w->username, 'password' => $config->mysql->myPhalcon_w->password, 'dbname' => $config->mysql->myPhalcon_w->dbname, 'port' => $config->mysql->myPhalcon_w->port));
         $db->setEventsManager($eventsManager);
         return $db;
     });
     $di->setShared('db_myPhalcon_r', function () use($di, $config) {
         $profiler = $di->getProfiler();
         $eventsManager = new \Phalcon\Events\Manager();
         $eventsManager->attach('db', function ($event, $connection) use($profiler) {
             if ($event->getType() == 'beforeQuery') {
                 $profiler->startProfile($connection->getSQLStatement(), $connection->getSqlVariables(), $connection->getSQLBindTypes());
             }
             if ($event->getType() == 'afterQuery') {
                 $profiler->stopProfile();
                 $profile = $profiler->getLastProfile();
                 LoggerUtil::info(sprintf('SQL: %s , COST TIME: %s', $profile->getSQLStatement(), $profile->getTotalElapsedSeconds()));
             }
         });
         $db = new DbAdapter(array('host' => $config->mysql->myPhalcon_r->host, 'username' => $config->mysql->myPhalcon_r->username, 'password' => $config->mysql->myPhalcon_r->password, 'dbname' => $config->mysql->myPhalcon_r->dbname, 'port' => $config->mysql->myPhalcon_r->port));
         $db->setEventsManager($eventsManager);
         return $db;
     });
     $di->setShared('redisCache', function () use($di, $config) {
         require VENDOR_PATH . '/predis/Autoloader.php';
         \Predis\Autoloader::register();
         $host = $config->redisCache->host;
         $port = $config->redisCache->port;
         return new \Predis\Client("tcp://{$host}:{$port}");
     });
     $di->setShared('curl', function () use($di, $config) {
         require VENDOR_PATH . '/Curl/Autoloader.php';
         \Curl\Autoloader::register();
         return new \Curl\Curl();
     });
     $di->setShared('image', function () use($di, $config) {
         require VENDOR_PATH . '/Image/Autoloader.php';
         \Image\Autoloader::register();
         return new \Image\Image(\Image\Image::IMAGE_IMAGICK);
     });
 }