淘宝taobao sdk 2.0去除lotusphp
2012-12-05 16:48
369 查看
今天下载了一个淘宝的SDK,不过里面集成了lotusphp框架,而实际应用中,我们不希望有这个集成,或者我们希望应用到我们自己的框架中,那么就需要对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;
}
}
复制代码
因为很多框架本身已经使用过__autoload魔术方法了,这里我们自己定义一个自动加载方法,然后用PHP自带的方法进行注册。
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
));*/
}
复制代码
好了,现在你可以享受你的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;
}
}
复制代码
因为很多框架本身已经使用过__autoload魔术方法了,这里我们自己定义一个自动加载方法,然后用PHP自带的方法进行注册。
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
));*/
}
复制代码
好了,现在你可以享受你的SDK路了
相关文章推荐
- 淘宝PHP SDK 2.0 剔除 lotusphp框架
- 淘宝PHPSDK2.0 剔除 lotusphp框架---兄弟连教程
- Lotus PHP框架介绍(淘宝 LotusPHP SDK)
- Lotus PHP框架介绍(淘宝 LotusPHP SDK)
- 【13】淘宝sdk——入门实战之header.php制作(一)
- 【16】淘宝sdk——入门实战之footer.php制作
- 淘宝店铺开发 ShopSDK 1.x 及 TAE_SDK 2.0
- PHP 淘宝API发布产品 taobao.item.add
- 淘宝sdk2.0下载安装使用
- ruby on rails for taobao api 2.0 sdk的选择和使用
- 【15】淘宝sdk——入门实战之header.php制作(三)
- 淘宝SDK2.0:适应不同布局的写法
- [转]淘宝sdk——入门实战之header.php制作(二)
- 淘宝店铺模板开发SDK2.0下载安装图文教程
- php 模拟登录淘宝taobao阿里妈妈|模拟登录淘宝联盟|curl模拟登录淘宝|模拟登陆淘宝采集数据
- 图灵机器人API 2.0 SDK for PHP
- 使用CodeIgniter来调用淘宝SDK数据进行PHP开发
- 淘宝SDK1.1.7模块升级为2.0步骤
- 【14】淘宝sdk——入门实战之header.php制作(二)
- 淘宝widget—popup组件的用法【sdk2.0】