2018-04-17 02:11:51 +00:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
namespace Symfony\Component\Cache\Simple ;
2024-03-20 02:35:09 +00:00
use Symfony\Component\Cache\Adapter\PdoAdapter ;
use Symfony\Component\Cache\Marshaller\MarshallerInterface ;
2018-04-17 02:11:51 +00:00
use Symfony\Component\Cache\PruneableInterface ;
use Symfony\Component\Cache\Traits\PdoTrait ;
2024-03-20 02:35:09 +00:00
use Symfony\Contracts\Cache\CacheInterface ;
2018-04-17 02:11:51 +00:00
2024-03-20 02:35:09 +00:00
@ trigger_error ( sprintf ( 'The "%s" class is deprecated since Symfony 4.3, use "%s" and type-hint for "%s" instead.' , PdoCache :: class , PdoAdapter :: class , CacheInterface :: class ), \E_USER_DEPRECATED );
/**
* @ deprecated since Symfony 4.3 , use PdoAdapter and type - hint for CacheInterface instead .
*/
2018-04-17 02:11:51 +00:00
class PdoCache extends AbstractCache implements PruneableInterface
{
use PdoTrait ;
protected $maxIdLength = 255 ;
/**
* You can either pass an existing database connection as PDO instance or
* a Doctrine DBAL Connection or a DSN string that will be used to
* lazy - connect to the database when the cache is actually used .
*
2024-03-20 02:35:09 +00:00
* When a Doctrine DBAL Connection is passed , the cache table is created
* automatically when possible . Otherwise , use the createTable () method .
*
2018-04-17 02:11:51 +00:00
* List of available options :
* * db_table : The name of the table [ default : cache_items ]
* * db_id_col : The column where to store the cache id [ default : item_id ]
* * db_data_col : The column where to store the cache data [ default : item_data ]
* * db_lifetime_col : The column where to store the lifetime [ default : item_lifetime ]
* * db_time_col : The column where to store the timestamp [ default : item_time ]
* * db_username : The username when lazy - connect [ default : '' ]
* * db_password : The password when lazy - connect [ default : '' ]
2024-01-12 05:08:24 +00:00
* * db_connection_options : An array of driver - specific connection options [ default : []]
2018-04-17 02:11:51 +00:00
*
2024-03-20 02:35:09 +00:00
* @ param \PDO | Connection | string $connOrDsn a \PDO or Connection instance or DSN string or null
2018-04-17 02:11:51 +00:00
*
* @ throws InvalidArgumentException When first argument is not PDO nor Connection nor string
* @ throws InvalidArgumentException When PDO error mode is not PDO :: ERRMODE_EXCEPTION
* @ throws InvalidArgumentException When namespace contains invalid characters
*/
2024-03-20 02:35:09 +00:00
public function __construct ( $connOrDsn , string $namespace = '' , int $defaultLifetime = 0 , array $options = [], MarshallerInterface $marshaller = null )
2018-04-17 02:11:51 +00:00
{
2024-03-20 02:35:09 +00:00
$this -> init ( $connOrDsn , $namespace , $defaultLifetime , $options , $marshaller );
2018-04-17 02:11:51 +00:00
}
}