/**
* Return an S3Client object for a specific attachment type.
* If no instance has been defined yet we'll buld one and then
* cache it on the s3Clients property (for the current request only).
*
* @param Attachment $attachedFile
* @return S3Client
*/
public static function getS3ClientInstance(Attachment $attachedFile)
{
$modelName = $attachedFile->getInstanceClass();
$attachmentName = $attachedFile->getConfig()->name;
$key = "{$modelName}.{$attachmentName}";
if (array_key_exists($key, static::$s3Clients)) {
return static::$s3Clients[$key];
}
static::$s3Clients[$key] = static::buildS3Client($attachedFile);
return static::$s3Clients[$key];
}