EndpointProvider.php 981B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace Aliyun\Core\Regions;
  3. class EndpointProvider
  4. {
  5. private static $endpoints;
  6. public static function findProductDomain($regionId, $product)
  7. {
  8. if(null == $regionId || null == $product || null == self::$endpoints)
  9. {
  10. return null;
  11. }
  12. foreach (self::$endpoints as $key => $endpoint)
  13. {
  14. if(in_array($regionId, $endpoint->getRegionIds()))
  15. {
  16. return self::findProductDomainByProduct($endpoint->getProductDomains(), $product);
  17. }
  18. }
  19. return null;
  20. }
  21. private static function findProductDomainByProduct($productDomains, $product)
  22. {
  23. if(null == $productDomains)
  24. {
  25. return null;
  26. }
  27. foreach ($productDomains as $key => $productDomain)
  28. {
  29. if($product == $productDomain->getProductName())
  30. {
  31. return $productDomain->getDomainName();
  32. }
  33. }
  34. return null;
  35. }
  36. public static function getEndpoints()
  37. {
  38. return self::$endpoints;
  39. }
  40. public static function setEndpoints($endpoints)
  41. {
  42. self::$endpoints = $endpoints;
  43. }
  44. }