UploadDrive.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace common\components;
  3. use Yii;
  4. use common\components\uploaddrive\Cos;
  5. use common\components\uploaddrive\Local;
  6. use common\components\uploaddrive\OSS;
  7. use common\components\uploaddrive\Qiniu;
  8. use common\helpers\ArrayHelper;
  9. /**
  10. * Class UploadDrive
  11. * @package common\components
  12. */
  13. class UploadDrive
  14. {
  15. /**
  16. * @var array
  17. */
  18. protected $config = [];
  19. /**
  20. * UploadDrive constructor.
  21. */
  22. public function __construct()
  23. {
  24. //$this->config = Yii::$app->debris->backendConfigAll();
  25. }
  26. /**
  27. * @param array $config
  28. * @return Local
  29. */
  30. public function local($config = [])
  31. {
  32. return new Local(ArrayHelper::merge($this->config, $config));
  33. }
  34. /**
  35. * @param array $config
  36. * @return OSS
  37. */
  38. public function oss($config = [])
  39. {
  40. return new OSS(ArrayHelper::merge($this->config, $config));
  41. }
  42. /**
  43. * @param array $config
  44. * @return Cos
  45. */
  46. public function cos($config = [])
  47. {
  48. return new Cos(ArrayHelper::merge($this->config, $config));
  49. }
  50. /**
  51. * @param array $config
  52. * @return Qiniu
  53. */
  54. public function qiniu($config = [])
  55. {
  56. return new Qiniu(ArrayHelper::merge($this->config, $config));
  57. }
  58. }