ステージング サーバーと運用サーバーは、別のサーバーとドメインにあります。
ドメイン名に依存するキーを持つ外部 API を処理する最良の方法はどれですか? これは悪い習慣であり、両方が同じサーバー上にある必要がありますか?
この問題に対する私自身の解決策は、環境ごとに配列内の異なるキーを使用することです。
この場合、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
}
}
これが役立つことを願っています...