我正在尝试为 S3 创建一个包装器。我有一些执行相同操作的存储桶和本地文件系统。我希望实现类似
S3Wrapper::bucket1->upload()
的目标,以简化开发并减少每个存储桶重复相同的方法。为包装器创建 Singleton 类是否有意义?我是设计模式的新手,所以如果它没有意义,请告诉我。
class S3Wrapper{
private static $instance;
protected $disk = '';
private function __construct(){}
public static function bucket1(){
if(!isset(self::$instance)){
self::$instance = new S3Wrapper();
}
self::$instance->$disk = 'bucket1';
return $self::$instance;
}
public static function bucket2(){
if(!isset(self::$instance)){
self::$instance = new S3Wrapper();
}
self::$instance->$disk = 'bucket2';
return $self::$instance;
}
public static function printDisk(){
echo $this->$disk;
}
}
S3Wrapper::bucket1()->printDisk();
S3Wrapper::bucket2()->printDisk();