Files
predis/lib/Predis/Connection/ConnectionFactoryInterface.php
T
Daniele Alessandri 8567b05459 Specify the server profile in constructor of the connection factory.
When no server profile is specified, the connection factory will not push
any initialization command to the newly created connection object.

This change is mainly useful when using redis-cluster and also makes it
possible to easily inject commands such as "SCRIPT LOAD" at initialization
time by grouping everything into one common place simply by extending the
connection factory class.
2012-08-19 13:57:58 +02:00

56 lines
1.7 KiB
PHP

<?php
/*
* This file is part of the Predis package.
*
* (c) Daniele Alessandri <suppakilla@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Predis\Connection;
use Predis\Profile\ServerProfileInterface;
/**
* Interface that must be implemented by classes that provide their own mechanism
* to create and initialize new instances of Predis\Connection\SingleConnectionInterface.
*
* @author Daniele Alessandri <suppakilla@gmail.com>
*/
interface ConnectionFactoryInterface
{
/**
* Defines or overrides the connection class identified by a scheme prefix.
*
* @param string $scheme URI scheme identifying the connection class.
* @param mixed $initializer FQN of a connection class or a callable object for lazy initialization.
*/
public function define($scheme, $initializer);
/**
* Undefines the connection identified by a scheme prefix.
*
* @param string $scheme Parameters for the connection.
*/
public function undefine($scheme);
/**
* Creates a new connection object.
*
* @param mixed $parameters Parameters for the connection.
* @return Predis\Connection\SingleConnectionInterface
*/
public function create($parameters);
/**
* Prepares an aggregation of connection objects.
*
* @param AggregatedConnectionInterface Instance of an aggregated connection class.
* @param array $parameters List of parameters for each connection object.
* @return Predis\Connection\AggregatedConnectionInterface
*/
public function createAggregated(AggregatedConnectionInterface $cluster, Array $parameters);
}