Php 类别';S3客户端&x27;在对象方法中找不到

Php 类别';S3客户端&x27;在对象方法中找不到,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我在AWS EC2上的应用程序将图像文件存储在AWS S3上。我正在使用以下AWS代码片段为S3API创建Guzzle客户端: use Aws\S3\S3Client; // Namespace alias. ... $s3_gClient = S3Client::factory(array( ... )); 这很好,但在应用程序中的多个位置重复。 现在,我想使用一个从所有这些地方调用的方法。 我试过这个: $s3ClientNamespaceString = "S3Clien

我在AWS EC2上的应用程序将图像文件存储在AWS S3上。我正在使用以下AWS代码片段为S3API创建Guzzle客户端:

use Aws\S3\S3Client; // Namespace alias.
...
$s3_gClient = S3Client::factory(array(
   ...
   ));
这很好,但在应用程序中的多个位置重复。 现在,我想使用一个从所有这些地方调用的方法。 我试过这个:

  $s3ClientNamespaceString = "S3Client";
  $sg->prepare_aws_s3_guzzle_client($s3ClientNamespaceString);
方法定义为:

  public function prepare_aws_s3_guzzle_client($s3ClientNamespaceString) {
    $s3_gClient = $s3ClientNamespaceString::factory(array(
       ...
       ));
    }
这不起作用-我收到一个PHP错误:

Fatal error: Class 'S3Client' not found

是否有任何方法可以实现我正在尝试的目标-即在方法中使用名称空间别名?

以前没有在AWS SDK上工作过,不应该
$s3ClientNamespaceString=“S3Client”
be
$s3ClientNamespaceString=“Aws\S3\S3Client”?名称空间是每个文件的,而不是包含在任何文件之外的全局名称空间。感谢您的回复。我正在试验你的建议。我还不清楚名称空间,但我想知道为什么AWS会坚持使用这种方法,如果它归结为一个简单的简写符号。