淘宝taobao sdk 2.0去除lotusphp

来源:互联网 发布:阿里云服务器进入空间 编辑:程序博客网 时间:2024/05/05 13:01
今天下载了一个淘宝的SDK,不过里面集成了lotusphp框架,而实际应用中,我们不希望有这个集成,或者我们希望应用到我们自己的框架中,那么就需要对SDK进行基本的修改了。下面说下步骤

第一步:
修改TopSdk.php文件
  1. <?php
  2. /**
  3. * TOP SDK 入口文件
  4. * 请不要修改这个文件,除非你知道怎样修改以及怎样恢复
  5. * @author wuxiao
  6. */

  7. /**
  8. * 定义常量开始
  9. * 在include("TopSdk.php")之前定义这些常量,不要直接修改本文件,以利于升级覆盖
  10. */
  11. /**
  12. SDK工作目录
  13. * 存放日志,TOP缓存数据
  14. */
  15. if (!defined("TOP_SDK_WORK_DIR"))
  16. {
  17.         define("TOP_SDK_WORK_DIR", "/tmp/");
  18. }
  19. /**
  20. * 是否处于开发模式
  21. * 在你自己电脑上开发程序的时候千万不要设为false,以免缓存造成你的代码修改了不生效
  22. * 部署到生产环境正式运营后,如果性能压力大,可以把此常量设定为false,能提高运行速度(对应的代价就是你下次升级程序时要清一下缓存)
  23. */
  24. if (!defined("TOP_SDK_DEV_MODE"))
  25. {
  26.         define("TOP_SDK_DEV_MODE", true);
  27. }
  28. /**
  29. * 定义常量结束
  30. */

  31. /**
  32. * 加载SDK
  33. */
  34. $apiHome = dirname(__FILE__) . DIRECTORY_SEPARATOR;

  35. include $apiHome.'top/TopClient.php';
  36. include $apiHome.'top/RequestCheckUtil.php';
  37. function autoload($name){
  38.         global $api_home;
  39.         try {
  40.                 include $apiHome.'top/request/'.$name.'.php';
  41.         }catch (Exception $e){
  42.                 echo $e->getMessage();
  43.                 exit;
  44.         }
  45. }
复制代码
因为很多框架本身已经使用过__autoload魔术方法了,这里我们自己定义一个自动加载方法,然后用PHP自带的方法进行注册。
spl_autoload_register('autoload');

第二步:
日志保存
SDK用了LOTUSPHP里面的LOGGER类,进行日志保存
修改TopClient类,找到相应的Logger的地方,替换成你自己的日志保存
  1. $localIp = isset($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"] : "CLI";
  2.                 $logFile = LOG_PATH . "top_comm_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
  3.                 $logData = array(
  4.                                 date("Y-m-d H:i:s"),
  5.                                 $apiName,
  6.                                 $this->appkey,
  7.                                 $localIp,
  8.                                 PHP_OS,
  9.                                 $this->sdkVersion,
  10.                                 $requestUrl,
  11.                                 $errorCode,
  12.                                 str_replace("\n","",$responseTxt)
  13.                 );
  14.                 $message = implode("\t", $logData);
  15.                 ScrollLog::write($message,'ERR',3,$logFile);
  16.                 /*$logger = new LtLogger;
  17.                 $logger->conf["log_file"] = rtrim(TOP_SDK_WORK_DIR, '\\/') . '/' . "logs/top_comm_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
  18.                 $logger->conf["separator"] = "^_^";
  19.                 $logData = array(
  20.                 date("Y-m-d H:i:s"),
  21.                 $apiName,
  22.                 $this->appkey,
  23.                 $localIp,
  24.                 PHP_OS,
  25.                 $this->sdkVersion,
  26.                 $requestUrl,
  27.                 $errorCode,
  28.                 str_replace("\n","",$responseTxt)
  29.                 );
  30.                 $logger->log($logData);*/
复制代码
还有一处
  1. //如果TOP返回了错误码,记录到业务错误日志中
  2.                 if (isset($respObject->code))
  3.                 {
  4.                         $logFile = LOG_PATH . "top_biz_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
  5.                         $logData = array(
  6.                                 date("Y-m-d H:i:s"),
  7.                                 $resp
  8.                         );
  9.                         $message = implode("\t", $logData);
  10.                         ScrollLog::write($message,'ERR',3,$logFile);
  11.                         /*$logger = new LtLogger;
  12.                         $logger->conf["log_file"] = rtrim(TOP_SDK_WORK_DIR, '\\/') . '/' . "logs/top_biz_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
  13.                         $logger->log(array(
  14.                                 date("Y-m-d H:i:s"),
  15.                                 $resp
  16.                         ));*/
  17.                 }
复制代码
好了,现在你可以享受你的SDK路了
原创粉丝点击