1. 类ALIOSS的构造函数
在检测参数的时候,既然抛出了异常,干嘛还要自己去try catch,并且还在catch里面做了die操作,完全是脱了裤子放屁,追求形式
//验证access_id,access_key
构造函数在设置了$access_id, $access_key参数后,流程里居然就return了,后面还有设置hostname的流程呢。。
try{
if(!$access_id && !defined('OSS_ACCESS_ID')){
throw new OSS_Exception(NOT_SET_OSS_ACCESS_ID);
}
}catch (OSS_Exception $e){
die($e->getMessage());
}
try{
if($access_id && $access_key){
$this->access_id = $access_id;
$this->access_key = $access_key;
return true;
}elseif (defined('OSS_ACCESS_ID') && defined('OSS_ACCESS_KEY')){
$this->access_id = OSS_ACCESS_ID;
$this->access_key = OSS_ACCESS_KEY;
}else{
throw new OSS_Exception(NOT_SET_OSS_ACCESS_ID_AND_ACCESS_KEY);
}
}catch (OSS_Exception $e){
die($e->getMessage());
}
//验证access_id 和 access_key 是否为空
try{
if(empty($this->access_id) || empty($this->access_key)){
throw new OSS_Exception(OSS_ACCESS_ID_OR_ACCESS_KEY_EMPTY);
}
}catch (OSS_Exception $e){
die($e->getMessage());
}
//验证主机地址
if(NULL === $hostname){
$this->hostname = self::DEFAULT_OSS_HOST;
}else{
$this->hostname = $hostname;
}
2. sdk的conf.inc.php多余
对于sdk而言有这么个东西,完全没必要。对于内部的定义,你就应该放到sdk关联的文件里,而不是暴露在外围,让用户去设置
config里提供给用户设置的,其实也就三四项,而且名字定义的也太草率了
这两个参数不是在构造函数里有了吗??为了混淆下用户,感觉很复杂的样子??
//ACCESS_ID
define('OSS_ACCESS_ID', '');
//ACCESS_KEY
define('OSS_ACCESS_KEY', '');
DEBUG, LANG这两个常量名也太容易跟项目本身的常量搞混了吧,前面加个前缀不好吗?
而且像LANG这种东西为什么不能提供方法来设置呢,而要用户去设置常量?
//是否输出DEBUG
define('DEBUG', FALSE);
//语言版本设置
define('LANG', 'zh');
还有后面的几个常量MAX_MEMORY_LIMIT,MAX_EXECUTE_TIME,MAX_UPLOAD_FILE_SIZE
,也是瞎操心。上传应该
在文档中告知用户,在php cgi、http server的相关限制与设置。
这里为什么都是define呢?是不是应该用ini_set?
//设置每个php进程的内存消耗值,对应于php.ini里的memory_limit
define('MAX_MEMORY_LIMIT', '256M');
//设置每个php进程的最大执行时间
define('MAX_EXECUTE_TIME','3600');
//上传文件的最大值,默认值128M
假如/tmp目录没有独立划分,这里就不怕别人的机器被上传给撑爆?而且你确定人人都需要这么大的上传?
define('MAX_UPLOAD_FILE_SIZE', 128 * 1024 * 1024);
代码重形式化
curl的封装居然还来自第三方。。。。
。。。。
代码没细看,吐槽也就到这里,肯定是java工程师充了临时工
使用oss,哥虽然没交多少钱,但ali希望能认真开发这个sdk。。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。