Commit Graph

1594 Commits

Author SHA1 Message Date
Daniele Alessandri 30274aa242 Integrate CHANGELOG notes from v0.8.7. 2014-08-01 11:44:26 +02:00
Daniele Alessandri f5ba47ad74 Change response parser for ZSCAN to match changes applied to ZRANGE. 2014-07-30 16:45:00 +02:00
Daniele Alessandri fbb0236840 Apply minor code-styling changes. 2014-07-30 15:30:02 +02:00
Daniele Alessandri ba5e501346 Use arguments as defined by Redis when calling WATCH internally. 2014-07-30 14:18:20 +02:00
Daniele Alessandri ab9cbe712f Specify type hint in interface. 2014-07-30 11:31:31 +02:00
Daniele Alessandri 16f2d8a768 Stick to 2.8 as the default target for the test suite.
Even though tere are no changes between running the test suite against
3.0 and 2.8, we will stick with the current stable Redis version as
the default target and switch to 3.0 as soon as it will be released.

[ci skip]
2014-07-30 11:08:56 +02:00
Daniele Alessandri 7c9e4ab595 Update CHANGELOG.
[ci skip]
2014-07-28 20:50:01 +02:00
Daniele Alessandri b6389e4a03 Switch to "3.0" as the default server profile.
Redis 3.0 does not really change much in terms of commands (most of
the ones implemented in the "unstable" branch have been backported to
the "2.8" branch after all) aside from a few cluster-related ones, so
we can bump the default version without worries.
2014-07-28 20:36:12 +02:00
Daniele Alessandri dedc1ba0a9 Move command "COMMAND" to the server profile for Redis 2.8.
This command has been backported from the "unstable" branch of Redis
to the "2.8" one, and it is available since 2.8.13.
2014-07-28 20:30:09 +02:00
Daniele Alessandri df653a7c00 Minor code styling and phpdoc changes. 2014-07-28 12:04:07 +02:00
Daniele Alessandri 5c02e4e47b Update README.
[ci skip]
2014-07-28 10:40:01 +02:00
Daniele Alessandri c2b24bd873 Merge branch 'v1.0/inspection-fixes' 2014-07-28 00:02:54 +02:00
Daniele Alessandri 45e351be79 [phpdoc] Fix formatting of phpdoc headers. 2014-07-27 23:59:37 +02:00
Daniele Alessandri b5cdab35c7 Remove useless argument from method signatures in WebdisConnection. 2014-07-27 23:06:21 +02:00
Daniele Alessandri dbfc1a74ba More random fixes after inspection. 2014-07-27 23:06:17 +02:00
Daniele Alessandri 4e1186f845 [phpdoc] Fix undefined classes. 2014-07-27 21:57:50 +02:00
Daniele Alessandri aa5c893d5a [phpdoc] Fix undefined namespaces. 2014-07-27 21:57:40 +02:00
Daniele Alessandri fff303a03b Comply with PSR-2 on intentional fall-through in non-empty case. 2014-07-27 21:57:40 +02:00
Daniele Alessandri 78ec22563a The \Iterator interface returns void for next(). 2014-07-27 21:57:40 +02:00
Daniele Alessandri 30254a2594 [phpdoc] Various phpdoc fixes. 2014-07-27 21:57:13 +02:00
Daniele Alessandri f372029cfc Fix code smells. 2014-07-27 20:13:24 +02:00
Daniele Alessandri 87aba18002 Merge branch 'v1.0/phpdocs' 2014-07-27 19:19:44 +02:00
Daniele Alessandri dc33d62b77 Miscellaneous fixes for "use" directives. 2014-07-27 19:19:20 +02:00
Daniele Alessandri b230e243f5 Predis\PubSub\DispatcherLoop should take a PubSub consumer instance. 2014-07-27 16:53:46 +02:00
Daniele Alessandri 44c9232b13 Update README.
[ci skip]
2014-07-27 15:41:06 +02:00
Daniele Alessandri 776f5831a6 Merge branch 'v1.0/custom-parameters' 2014-07-27 14:19:30 +02:00
Daniele Alessandri 31e2516156 Makes it easier to use a custom parameters class.
Simply overriding one method of the standard connection factory class,
used internally by Predis, allows developers to use their own custom
connection parameters classes through the whole library.

For example, in order to support Heroku-style URIs one can do:

  class HerokuParameters extends Predis\Connection\Parameters
  {
    protected function filter(array $parameters)
    {
      if (
        isset($parameters['scheme']) &&
        $parameters['scheme'] === 'redis'
      ) {
        $parameters['scheme'] = 'tcp';
      }

      if (isset($parameters['pass'])) {
        $parameters['password'] = $parameters['pass'];
      }

      unset($parameters['user'], $parameters['pass']);

      return $parameters;
    }
  }

  class ConnectionFactory extends Predis\Connection\Factory
  {
    protected function createParameters($parameters)
    {
      return HerokuParameters::create($parameters);
    }
  }

  $client = new Predis\Client($_ENV['REDISCLOUD_URL'], [
    'connections' => new ConnectionFactory()
  ]);

This idea comes in response to #196, but since we do not want to bake
support for SaaS-specific URIs in Predis this is the best compromise
we can offer leave developers free to implement their own logic for
handling these kind of URIs with the additional benefit of having it
available through the whole library (think of cluster or replication
where you have multiple nodes, thus multiple instances of connection
parameters to create).
2014-07-27 14:13:30 +02:00
Daniele Alessandri b379d4f1b3 Merge pull request #194 from GrahamCampbell/gitstuff
Added a .gitattributes file
2014-07-27 11:46:51 +02:00
Graham Campbell 60a863f5fc Include docs 2014-07-27 10:40:38 +01:00
Daniele Alessandri f7d8088bba Added @method tags to phpdoc header of Predis\ClientContextInterface. 2014-07-27 10:53:40 +02:00
Daniele Alessandri 38710cd69b Added Predis\ClientContextInterface.
This interface replaces Predis\ExecutableContextInterface and it is
used by client-side contexts such as pipelines or transactions.
2014-07-27 10:46:11 +02:00
Graham Campbell 7fa17b2ebc Added a .gitattributes file 2014-07-26 15:30:23 +01:00
Daniele Alessandri dcb57ea08d Fix method visibility in Predis\Pipeline\ConnectionErrorProof. 2014-07-25 16:44:04 +02:00
Daniele Alessandri 872d953b50 Update README.
[ci skip]
2014-07-25 16:40:21 +02:00
Daniele Alessandri f630ff809f Update README.
[ci skip]
2014-07-25 16:30:38 +02:00
Daniele Alessandri 19bad41582 Update README. 2014-07-25 13:21:12 +02:00
Daniele Alessandri be6b7fe5f0 Update README.
[ci skip]
2014-07-25 13:16:09 +02:00
Daniele Alessandri 647c51a5b3 Update README.
[ci skip]
2014-07-25 13:11:33 +02:00
Daniele Alessandri dd1b63ae3b Update README.
[ci skip]
2014-07-25 13:09:22 +02:00
Daniele Alessandri 7146b69707 Update README.
[ci skip]
2014-07-25 13:08:10 +02:00
Daniele Alessandri 0bd7684d14 Add paragraphs in README on how to configure cluster and replication.
[ci skip]
2014-07-25 13:07:10 +02:00
Daniele Alessandri 558e10963c Merge branch 'v1.0/refactor-cluster-internals' 2014-07-25 10:58:03 +02:00
Daniele Alessandri 14a4303a54 Apply easy micro-optimization. 2014-07-23 17:07:03 +02:00
Daniele Alessandri 7d78600506 Add phpdocs for Redis commands in Predis\ClientInterface.
This commit addresses a long-standing feature request posted in #89.
2014-07-23 16:01:11 +02:00
Daniele Alessandri 784c555b67 Minor phpdoc fix. 2014-07-23 15:33:27 +02:00
Daniele Alessandri a67d35b799 Remove useless interface Predis\BasicClientInterface. 2014-07-23 15:30:18 +02:00
Daniele Alessandri 0ee5233f4f Promote __call() method to Predis\ClientInterface. 2014-07-23 15:18:09 +02:00
Daniele Alessandri 9a05d43737 Fix read/write timeouts with PhpiredisStreamConnection.
This is a regression of commit 4db0017, using stream_socket_recvfrom()
bypasses stream wrappers thus read/write timeouts handled by PHP. The
only way to make them work again is to fetch the raw socket from the
stream resource and use socket_import_stream() which is unfortunately
a PHP 5.4+ function.
2014-07-23 12:26:33 +02:00
Daniele Alessandri 6fe56985fc Simplify implementation of Predis\Connection\Parameters.
Casting values supplied by users should be done by the consumer since
we cannot cover any possible use case anyway. It is still possible to
subclass Predis\Connection\Parameters and override the filter() method
to convert certain values if deemed necessary.
2014-07-23 11:57:23 +02:00
Daniele Alessandri 57363f6d11 Update CHANGELOG.
[ci skip]
2014-07-23 11:33:01 +02:00