123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- namespace FileSystem;
- use Xxtime\Flysystem\Aliyun\OssAdapter;
- use League\Flysystem\Filesystem as LeagueFilesystem;
- class FileSystem {
- private static $adapter;
-
- public static function create($config = []) {
- if (empty($config)) {
- $config = config('filesystem');
- }
- $_default = get_val($config, 'default', 'oss');
- try {
- switch ($_default) {
- case 'oss':
- $_driver_config = get_val($config, 'oss', []);
- $_adapter = new OssAdapter($_driver_config);
- break;
- default:
- $_driver_config = get_val($config, 'oss', []);
- $_adapter = new OssAdapter($_driver_config);
- }
- self::setAdapter($_adapter);
- $filesystem = new LeagueFilesystem($_adapter);
- } catch (\Exception $exception) {
- throw new $exception;
- }
- return $filesystem;
- }
-
- public static function getAdapter() {
- return self::$adapter;
- }
-
- public static function setAdapter($adapter) {
- self::$adapter = $adapter;
- }
- }
|