NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class ClosureCommand

A ClosureCommand is a command that allows dynamic commands to be created at runtime using a closure to prepare the request. A closure key and \Closure value must be passed to the command in the constructor. The closure must accept the command object as an argument.

  Guzzle\Common\Collection implements ArrayAccess, IteratorAggregate, Countable, Guzzle\Common\ToArrayInterface
  Guzzle\Service\Command\AbstractCommand implements Guzzle\Service\Command\CommandInterface
  Guzzle\Service\Command\ClosureCommand

Namespace: Guzzle\Service\Command
Located at Guzzle/Service/Command/ClosureCommand.php

## Methods summary

- `protected` `init ( )`

  Initialize the command (hook that can be implemented in subclasses)

- `protected` `build ( )`

  Create the request object that will carry out the command

## Methods detail

# `protected`
`init( )`

Initialize the command (hook that can be implemented in subclasses)

#### Throws

``Guzzle\Common\Exception\InvalidArgumentException``
if a closure was not passed

#### Overrides

`Guzzle\Service\Command\AbstractCommand::init`
# `protected`
`build( )`

Create the request object that will carry out the command

#### Throws

``Guzzle\Common\Exception\UnexpectedValueException``
If the closure does not return a request

### Methods inherited from Guzzle\Service\Command\AbstractCommand

`__clone()`, `__construct()`, `__invoke()`, `createOperation()`, `execute()`, `getClient()`, `getName()`, `getOperation()`, `getRequest()`, `getRequestHeaders()`, `getResponse()`, `getResult()`, `getValidationErrors()`, `getValidator()`, `isExecuted()`, `isPrepared()`, `prepare()`, `process()`, `setClient()`, `setOnComplete()`, `setResult()`, `setValidator()`, `validate()`

### Methods inherited from Guzzle\Common\Collection

`add()`, `clear()`, `count()`, `filter()`, `fromConfig()`, `get()`, `getAll()`, `getIterator()`, `getKeys()`, `getPath()`, `hasKey()`, `hasValue()`, `keySearch()`, `map()`, `merge()`, `offsetExists()`, `offsetGet()`, `offsetSet()`, `offsetUnset()`, `overwriteWith()`, `remove()`, `replace()`, `set()`, `setPath()`, `toArray()`

### Magic methods summary

## Constants summary

### Constants inherited from Guzzle\Service\Command\AbstractCommand

`DISABLE_VALIDATION`, `HEADERS_OPTION`, `HIDDEN_PARAMS`, `ON_COMPLETE`, `REQUEST_OPTIONS`, `RESPONSE_BODY`, `RESPONSE_PROCESSING`, `TYPE_MODEL`, `TYPE_NO_TRANSLATION`, `TYPE_RAW`

## Properties summary

### Properties inherited from Guzzle\Service\Command\AbstractCommand

`$client`, `$onComplete`, `$operation`, `$request`, `$result`, `$validator`

### Properties inherited from Guzzle\Common\Collection

`$data`