0

ステージング サーバーと運用サーバーは、別のサーバーとドメインにあります。

ドメイン名に依存するキーを持つ外部 API を処理する最良の方法はどれですか? これは悪い習慣であり、両方が同じサーバー上にある必要がありますか?

4

1 に答える 1

1

この問題に対する私自身の解決策は、環境ごとに配列内の異なるキーを使用することです。

この場合、PHPで説明しようとします

class API_Client
{
    const ENV_STAGING = 'staging';
    const ENV_PRODUCTION = 'production';

    protected static $apiKeys = array(
        self::ENV_STAGING    => 'thisisthekeyformystagingenv',
        self::ENV_PRODUCTION => 'thisisthekeyformyproductionenv',
    );

    protected static $environment = self::ENV_PRODUCTION;

    public static function getEnvironment()
    {
         return self::$environment;
    }

    public static function setEnvironment($environment)
    {
         self::$environment = $environment;
    }

    public static function apiCall($call)
    {
         $environment = self::getEnvironment();
         if(array_key_exists(self::$apiKeys, $environment))
             $apiKey = self::$apiKeys[$environment];
         else throw new Exception("No API key found for current environment '$environment'");

         return self::_apiCall($apiKey, $call);
    }

    protected static function _apiCall($apiKey, $call)
    {
         // Make the call to the API
    }
}

これが役立つことを願っています...

于 2010-06-17T23:33:13.883 に答える