mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-07-16 10:03:01 -07:00
v2: Updates
* Simplifies & beautifies everything * Introduces a new Class system. * Errors are defaulted to AWS's handler. * New function names & more efficient handling. * Should fix a majority of the errors. Please read the README for more!
This commit is contained in:
parent
ad0726e41e
commit
e6d7753dc8
1095 changed files with 45088 additions and 2911 deletions
262
aws/Aws/DynamoDb/SessionConnectionConfigTrait.php
Normal file
262
aws/Aws/DynamoDb/SessionConnectionConfigTrait.php
Normal file
|
@ -0,0 +1,262 @@
|
|||
<?php
|
||||
namespace Aws\DynamoDb;
|
||||
|
||||
trait SessionConnectionConfigTrait
|
||||
{
|
||||
/** @var string Name of table to store the sessions */
|
||||
protected $tableName = 'sessions';
|
||||
|
||||
/** @var string Name of hash key in table. Default: "id" */
|
||||
protected $hashKey = 'id';
|
||||
|
||||
/** @var string Name of the data attribute in table. Default: "data" */
|
||||
protected $dataAttribute = 'data';
|
||||
|
||||
/** @var string Type of the data attribute in table. Default: "string" */
|
||||
protected $dataAttributeType = 'string';
|
||||
|
||||
/** @var integer Lifetime of inactive sessions expiration */
|
||||
protected $sessionLifetime;
|
||||
|
||||
/** @var string Name of the session life time attribute in table. Default: "expires" */
|
||||
protected $sessionLifetimeAttribute = 'expires';
|
||||
|
||||
/** @var string Whether or not to use consistent reads */
|
||||
protected $consistentRead = true;
|
||||
|
||||
/** @var string Batch options used for garbage collection */
|
||||
protected $batchConfig = [];
|
||||
|
||||
/** @var boolean Whether or not to use session locking */
|
||||
protected $locking = false;
|
||||
|
||||
/** @var integer Max time (s) to wait for lock acquisition */
|
||||
protected $maxLockWaitTime = 10;
|
||||
|
||||
/** @var integer Min time (µs) to wait between lock attempts */
|
||||
protected $minLockRetryMicrotime = 10000;
|
||||
|
||||
/** @var integer Max time (µs) to wait between lock attempts */
|
||||
protected $maxLockRetryMicrotime = 50000;
|
||||
|
||||
/**
|
||||
* It initialize the Config class and
|
||||
* it sets values in case of valid configurations.
|
||||
*
|
||||
* It transforms parameters underscore separated in camelcase "this_is_a_test" => ThisIsATest
|
||||
* and it uses it in order to set the values.
|
||||
*
|
||||
* @param array $config
|
||||
*/
|
||||
public function initConfig( array $config = [] )
|
||||
{
|
||||
if (!empty($config))
|
||||
{
|
||||
foreach ($config as $key => $value)
|
||||
{
|
||||
$method = 'set' . str_replace('_', '', ucwords($key, '_'));
|
||||
if(method_exists($this,$method))
|
||||
{
|
||||
call_user_func_array(array($this, $method), array($value));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// It applies the default PHP session lifetime, if no session lifetime config is provided
|
||||
if(!isset($config['session_lifetime']))
|
||||
{
|
||||
$this->setSessionLifetime((int) ini_get('session.gc_maxlifetime'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getTableName()
|
||||
{
|
||||
return $this->tableName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $tableName
|
||||
*/
|
||||
public function setTableName($tableName)
|
||||
{
|
||||
$this->tableName = $tableName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getHashKey()
|
||||
{
|
||||
return $this->hashKey;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $hashKey
|
||||
*/
|
||||
public function setHashKey($hashKey)
|
||||
{
|
||||
$this->hashKey = $hashKey;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDataAttribute()
|
||||
{
|
||||
return $this->dataAttribute;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $dataAttribute
|
||||
*/
|
||||
public function setDataAttribute($dataAttribute)
|
||||
{
|
||||
$this->dataAttribute = $dataAttribute;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDataAttributeType()
|
||||
{
|
||||
return $this->dataAttributeType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $dataAttributeType
|
||||
*/
|
||||
public function setDataAttributeType($dataAttributeType)
|
||||
{
|
||||
$this->dataAttributeType = $dataAttributeType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return number
|
||||
*/
|
||||
public function getSessionLifetime()
|
||||
{
|
||||
return $this->sessionLifetime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param number $sessionLifetime
|
||||
*/
|
||||
public function setSessionLifetime($sessionLifetime)
|
||||
{
|
||||
$this->sessionLifetime = $sessionLifetime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getSessionLifetimeAttribute()
|
||||
{
|
||||
return $this->sessionLifetimeAttribute;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sessionLifetimeAttribute
|
||||
*/
|
||||
public function setSessionLifetimeAttribute($sessionLifetimeAttribute)
|
||||
{
|
||||
$this->sessionLifetimeAttribute = $sessionLifetimeAttribute;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
*/
|
||||
public function isConsistentRead()
|
||||
{
|
||||
return $this->consistentRead;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param boolean $consistentRead
|
||||
*/
|
||||
public function setConsistentRead($consistentRead)
|
||||
{
|
||||
$this->consistentRead = $consistentRead;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getBatchConfig()
|
||||
{
|
||||
return $this->batchConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $batchConfig
|
||||
*/
|
||||
public function setBatchConfig($batchConfig)
|
||||
{
|
||||
$this->batchConfig = $batchConfig;
|
||||
}
|
||||
/**
|
||||
* @return boolean
|
||||
*/
|
||||
public function isLocking()
|
||||
{
|
||||
return $this->locking;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param boolean $locking
|
||||
*/
|
||||
public function setLocking($locking)
|
||||
{
|
||||
$this->locking = $locking;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return number
|
||||
*/
|
||||
public function getMaxLockWaitTime()
|
||||
{
|
||||
return $this->maxLockWaitTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param number $maxLockWaitTime
|
||||
*/
|
||||
public function setMaxLockWaitTime($maxLockWaitTime)
|
||||
{
|
||||
$this->maxLockWaitTime = $maxLockWaitTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return number
|
||||
*/
|
||||
public function getMinLockRetryMicrotime()
|
||||
{
|
||||
return $this->minLockRetryMicrotime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param number $minLockRetryMicrotime
|
||||
*/
|
||||
public function setMinLockRetryMicrotime($minLockRetryMicrotime)
|
||||
{
|
||||
$this->minLockRetryMicrotime = $minLockRetryMicrotime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return number
|
||||
*/
|
||||
public function getMaxLockRetryMicrotime()
|
||||
{
|
||||
return $this->maxLockRetryMicrotime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param number $maxLockRetryMicrotime
|
||||
*/
|
||||
public function setMaxLockRetryMicrotime($maxLockRetryMicrotime)
|
||||
{
|
||||
$this->maxLockRetryMicrotime = $maxLockRetryMicrotime;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue