AlibabaCloud.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace AlibabaCloud\Client;
  3. use AlibabaCloud\Client\Traits\LogTrait;
  4. use AlibabaCloud\Client\Traits\MockTrait;
  5. use AlibabaCloud\Client\Traits\ClientTrait;
  6. use AlibabaCloud\Client\Traits\HistoryTrait;
  7. use AlibabaCloud\Client\Traits\RequestTrait;
  8. use AlibabaCloud\Client\Traits\EndpointTrait;
  9. use AlibabaCloud\Client\Traits\DefaultRegionTrait;
  10. use AlibabaCloud\Client\Exception\ClientException;
  11. /**
  12. * Class AlibabaCloud
  13. *
  14. * @package AlibabaCloud\Client
  15. * @mixin \AlibabaCloud\IdeHelper
  16. */
  17. class AlibabaCloud
  18. {
  19. use ClientTrait;
  20. use DefaultRegionTrait;
  21. use EndpointTrait;
  22. use RequestTrait;
  23. use MockTrait;
  24. use HistoryTrait;
  25. use LogTrait;
  26. /**
  27. * Version of the Client
  28. */
  29. const VERSION = '1.5.29';
  30. /**
  31. * This static method can directly call the specific service.
  32. *
  33. * @param string $product
  34. * @param array $arguments
  35. *
  36. * @codeCoverageIgnore
  37. * @return object
  38. * @throws ClientException
  39. */
  40. public static function __callStatic($product, $arguments)
  41. {
  42. $product = \ucfirst($product);
  43. $product_class = 'AlibabaCloud' . '\\' . $product . '\\' . $product;
  44. if (\class_exists($product_class)) {
  45. return new $product_class;
  46. }
  47. throw new ClientException(
  48. "May not yet support product $product quick access, "
  49. . 'you can use [Alibaba Cloud Client for PHP] to send any custom '
  50. . 'requests: https://github.com/aliyun/openapi-sdk-php-client/blob/master/docs/en-US/3-Request.md',
  51. SDK::SERVICE_NOT_FOUND
  52. );
  53. }
  54. }