今天下载了一个淘宝的SDK,不过里面集成了lotusphp框架,而实际应用中,我们不希望有这个集成,或者我们希望应用到我们自己的框架中,那么就需要对SDK进行基本的修改了。下面说下步骤
第一步:
修改TopSdk.php文件
复制代码
因为很多框架本身已经使用过__autoload魔术方法了,这里我们自己定义一个自动加载方法,然后用PHP自带的方法进行注册。
spl_autoload_register('autoload');
第二步:
日志保存
SDK用了LOTUSPHP里面的LOGGER类,进行日志保存
修改TopClient类,找到相应的Logger的地方,替换成你自己的日志保存
复制代码
还有一处
复制代码
好了,现在你可以享受你的SDK路了
第一步:
修改TopSdk.php文件
-
<?php
-
/**
-
* TOP SDK 入口文件
-
* 请不要修改这个文件,除非你知道怎样修改以及怎样恢复
-
* @author wuxiao
-
*/
-
-
/**
-
* 定义常量开始
-
* 在include("TopSdk.php")之前定义这些常量,不要直接修改本文件,以利于升级覆盖
-
*/
-
/**
-
* SDK工作目录
-
* 存放日志,TOP缓存数据
-
*/
-
if (!defined("TOP_SDK_WORK_DIR"))
-
{
-
define("TOP_SDK_WORK_DIR", "/tmp/");
-
}
-
/**
-
* 是否处于开发模式
-
* 在你自己电脑上开发程序的时候千万不要设为false,以免缓存造成你的代码修改了不生效
-
* 部署到生产环境正式运营后,如果性能压力大,可以把此常量设定为false,能提高运行速度(对应的代价就是你下次升级程序时要清一下缓存)
-
*/
-
if (!defined("TOP_SDK_DEV_MODE"))
-
{
-
define("TOP_SDK_DEV_MODE", true);
-
}
-
/**
-
* 定义常量结束
-
*/
-
-
/**
-
* 加载SDK
-
*/
-
$apiHome = dirname(__FILE__) . DIRECTORY_SEPARATOR;
-
-
include $apiHome.'top/TopClient.php';
-
include $apiHome.'top/RequestCheckUtil.php';
-
function autoload($name){
-
global $api_home;
-
try {
-
include $apiHome.'top/request/'.$name.'.php';
-
}catch (Exception $e){
-
echo $e->getMessage();
-
exit;
-
}
- }
spl_autoload_register('autoload');
第二步:
日志保存
SDK用了LOTUSPHP里面的LOGGER类,进行日志保存
修改TopClient类,找到相应的Logger的地方,替换成你自己的日志保存
-
$localIp = isset($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"] : "CLI";
-
$logFile = LOG_PATH . "top_comm_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
-
$logData = array(
-
date("Y-m-d H:i:s"),
-
$apiName,
-
$this->appkey,
-
$localIp,
-
PHP_OS,
-
$this->sdkVersion,
-
$requestUrl,
-
$errorCode,
-
str_replace("\n","",$responseTxt)
-
);
-
$message = implode("\t", $logData);
-
ScrollLog::write($message,'ERR',3,$logFile);
-
/*$logger = new LtLogger;
-
$logger->conf["log_file"] = rtrim(TOP_SDK_WORK_DIR, '\\/') . '/' . "logs/top_comm_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
-
$logger->conf["separator"] = "^_^";
-
$logData = array(
-
date("Y-m-d H:i:s"),
-
$apiName,
-
$this->appkey,
-
$localIp,
-
PHP_OS,
-
$this->sdkVersion,
-
$requestUrl,
-
$errorCode,
-
str_replace("\n","",$responseTxt)
-
);
- $logger->log($logData);*/
-
//如果TOP返回了错误码,记录到业务错误日志中
-
if (isset($respObject->code))
-
{
-
$logFile = LOG_PATH . "top_biz_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
-
$logData = array(
-
date("Y-m-d H:i:s"),
-
$resp
-
);
-
$message = implode("\t", $logData);
-
ScrollLog::write($message,'ERR',3,$logFile);
-
/*$logger = new LtLogger;
-
$logger->conf["log_file"] = rtrim(TOP_SDK_WORK_DIR, '\\/') . '/' . "logs/top_biz_err_" . $this->appkey . "_" . date("Y-m-d") . ".log";
-
$logger->log(array(
-
date("Y-m-d H:i:s"),
-
$resp
-
));*/
- }