EndpointProvider.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /*
  3. * Licensed to the Apache Software Foundation (ASF) under one
  4. * or more contributor license agreements. See the NOTICE file
  5. * distributed with this work for additional information
  6. * regarding copyright ownership. The ASF licenses this file
  7. * to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance
  9. * with the License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing,
  14. * software distributed under the License is distributed on an
  15. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16. * KIND, either express or implied. See the License for the
  17. * specific language governing permissions and limitations
  18. * under the License.
  19. */
  20. /**
  21. * @deprecated See: https://github.com/aliyun/openapi-sdk-php
  22. * Class EndpointProvider
  23. */
  24. class EndpointProvider
  25. {
  26. /**
  27. * @var array
  28. */
  29. private static $endpoints;
  30. /**
  31. * @param $regionId
  32. * @param $product
  33. *
  34. * @return null
  35. */
  36. public static function findProductDomain($regionId, $product)
  37. {
  38. if (null == $regionId || null == $product || null == self::$endpoints) {
  39. return null;
  40. }
  41. foreach (self::$endpoints as $key => $endpoint) {
  42. if (in_array($regionId, $endpoint->getRegionIds())) {
  43. return self::findProductDomainByProduct($endpoint->getProductDomains(), $product);
  44. }
  45. }
  46. return null;
  47. }
  48. /**
  49. * @param $productDomains
  50. * @param $product
  51. *
  52. * @return null
  53. */
  54. private static function findProductDomainByProduct($productDomains, $product)
  55. {
  56. if (null == $productDomains) {
  57. return null;
  58. }
  59. foreach ($productDomains as $key => $productDomain) {
  60. if ($product == $productDomain->getProductName()) {
  61. return $productDomain->getDomainName();
  62. }
  63. }
  64. return null;
  65. }
  66. /**
  67. * @return array
  68. */
  69. public static function getEndpoints()
  70. {
  71. return self::$endpoints;
  72. }
  73. /**
  74. * @param $endpoints
  75. */
  76. public static function setEndpoints($endpoints)
  77. {
  78. self::$endpoints = $endpoints;
  79. }
  80. }