

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 鏈結適用於 PHP 的 SDK 中的登入資料提供者
<a name="chaining-providers"></a>

您可使用 `Aws\Credentials\CredentialProvider::chain()` 函數來鏈結登入資料供應商。此函數接受 variadic 數量的引數，每個引數皆為登入資料供應商函數。此函數會傳回一個新的函數，這個新函數由提供的函數組成，並且會逐一呼叫，直到其中一個提供者傳回已成功履行的 promise。

`defaultProvider` 使用此結構在失敗之前檢查多個供應商。`defaultProvider` 的來源示範如何使用 `chain` 函數。

```
// This function returns a provider
public static function defaultProvider(array $config = [])
{
    // This function is the provider, which is actually the composition
    // of multiple providers. Notice that we are also memoizing the result by
    // default.
    return self::memoize(
        self::chain(
            self::env(),
            self::ini(),
            self::instanceProfile($config)
        )
    );
}
```