for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace diecoding\aws\s3\commands;
use Aws\ResultInterface;
use diecoding\aws\s3\base\commands\ExecutableCommand;
use diecoding\aws\s3\base\commands\traits\Async;
use diecoding\aws\s3\base\commands\traits\Options;
use diecoding\aws\s3\interfaces\commands\Asynchronous;
use diecoding\aws\s3\interfaces\commands\HasBucket;
use diecoding\aws\s3\interfaces\commands\PlainCommand;
use GuzzleHttp\Promise\PromiseInterface;
/**
* Class ListCommand
*
* @method ResultInterface|PromiseInterface execute()
* @package diecoding\aws\s3\commands
*/
class ListCommand extends ExecutableCommand implements PlainCommand, HasBucket, Asynchronous
{
use Async;
use Options;
/** @var array */
protected $args = [];
* @return string
public function getBucket(): string
return $this->args['Bucket'] ?? '';
}
* @param string $name
* @return $this
public function inBucket(string $name)
$this->args['Bucket'] = $name;
return $this;
public function getPrefix(): string
return $this->args['Prefix'] ?? '';
* @param string $prefix
public function byPrefix(string $prefix)
$this->args['Prefix'] = $prefix;
* @internal used by the handlers
public function getName(): string
return 'ListObjects';
* @return array
public function toArgs(): array
return array_replace($this->options, $this->args);