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

# Class LockingStrategyFactory

Factory for instantiating locking strategies

Namespace: Aws\DynamoDb\Session\LockingStrategy
Located at Aws/DynamoDb/Session/LockingStrategy/LockingStrategyFactory.php

## Methods summary

- `public` `__construct ( string $baseNamespace = null, Guzzle\Inflection\InflectorInterface $inflector = null )`
- `public` `factory ( string $lockingStrategy = null, Aws\DynamoDb\Session\SessionHandlerConfig $config = null )`

  Creates a session handler locking strategy

## Methods detail

# `public`
`__construct( string $baseNamespace = null, `Guzzle\Inflection\InflectorInterface` $inflector = null )`

#### Parameters

$baseNamespace
  `string`
  $baseNamespace Base namespace of all locking strategies
$inflector
  ``Guzzle\Inflection\InflectorInterface``
  $inflector Inflector used to resolve class names

# `public `Aws\DynamoDb\Session\LockingStrategy\LockingStrategyInterface``
`factory( string $lockingStrategy = null, `Aws\DynamoDb\Session\SessionHandlerConfig` $config = null )`

Creates a session handler locking strategy

#### Parameters

$lockingStrategy
  `string`
  $lockingStrategy The name if the locking strategy
$config
  ``Aws\DynamoDb\Session\SessionHandlerConfig``
  $config The session handler config data

#### Returns

``Aws\DynamoDb\Session\LockingStrategy\LockingStrategyInterface``

#### Throws

``Aws\Common\Exception\InvalidArgumentException``
If the locking strategy doesn't exist

### Magic methods summary

## Properties summary

`protected string` | $baseNamespace | # Base namespace used to look for classes
`protected `Guzzle\Inflection\InflectorInterface`` | $inflector | # Inflector used to inflect class names