Commit Graph

889 Commits

Author SHA1 Message Date
Daniele Alessandri 4e6ed3f26d [phpdoc] Add API documentation.
This is a starting point to add a documentation of the whole set of APIs and
classes of Predis. The next step will be to actually improve and extend it.
2011-10-21 12:54:24 +02:00
Daniele Alessandri 1f2104ef7f Strip the license header from files when generating the monolithic Predis file. 2011-10-18 17:35:49 +02:00
Daniele Alessandri 9608a97469 Add a license header to PHP files. 2011-10-18 16:41:46 +02:00
Daniele Alessandri b4d5b19b30 Fix a few oversights. 2011-10-18 16:19:12 +02:00
Daniele Alessandri 20d872a306 Apply some coding style changes. 2011-10-18 15:51:55 +02:00
Daniele Alessandri 4251664095 Change the way we enable/disable the safety catch to run the test suite.
Now we check for the presence of the file "test/enable.tests" to enable the
test suite instead of relying on the value of a constant defined in PHP. In
this way we can prevent commiting an enabled test suite by mistake since the
above mentioned file is not tracked by Git (see .gitignore)..
2011-10-15 10:58:02 +02:00
Daniele Alessandri b5affe739c Promote 2.4 as the default Redis server profile. 2011-10-15 10:31:38 +02:00
Daniele Alessandri f19c6335d1 Fix parsing of replies to INFO for Redis 2.4.
The new string format for INFO replies has been postponed to a future version
of Redis, so we just moved the INFO class that handles them to the development
server profile.
2011-10-15 10:21:34 +02:00
Daniele Alessandri e070f83dc5 Test suite: move tests for case-insensitive handling of commands names. 2011-10-02 23:29:03 +02:00
Daniele Alessandri c107d937fa Apply minor code styling change, nothing that really matters. 2011-10-02 23:19:08 +02:00
Daniele Alessandri 68dba4cb12 Ensure that commands are registered in server profiles using lowercase aliases. 2011-10-02 23:16:04 +02:00
Daniele Alessandri f1072f8344 Update composer.json. 2011-10-02 12:18:06 +02:00
Daniele Alessandri 5e41657363 Use the new Predis\Autoloader class for tests and examples. 2011-10-02 12:07:52 +02:00
Daniele Alessandri 04b8a8f75c Update comment to reflect old changes. 2011-10-02 11:55:23 +02:00
Daniele Alessandri f7d9c4bac7 Merge pull request #43 from juriansluiman/feature-uppercase
Now Predis follows the same standard behaviour of PHP (method names are treated
case-insensitively) when invoking methods related to Redis commands, (i.e.
$client->info() or $client->INFO() makes no difference).
2011-10-02 02:40:00 -07:00
Jurian Sluiman 49355b0881 Provide better name for test method
testMagicUppercase()? I don't know where I got that one from...
Just changed the method name to something more describring the
actual test.
2011-09-28 18:05:46 +02:00
Jurian Sluiman c33d053531 Add support for mixed case commands
Commands in Redis are most time written in uppercase, Predis supports
only lowercase commands. This change converts all commands into lower-
case, so MiXeDcAsE and UPPERCASE commands can be created as well.
2011-09-28 17:47:56 +02:00
Jurian Sluiman 0d28395aa0 Remove additional test
CreateCommand and supportsCommand are the only two methods which need
to be changes, so test for only those two methods.
2011-09-28 17:34:21 +02:00
Daniele Alessandri 7ebbe25171 Merge pull request #41 from thumbtack/autoloader
Add an autoloader class for Predis.
2011-09-27 23:18:20 -07:00
Eric Naeseth 1296717c2d Update README.
Signed-off-by: Eric Naeseth <eric@thumbtack.com>
2011-09-27 17:43:51 -07:00
Eric Naeseth 94a2ddeca9 Add an autoloader for Predis classes.
This makes it easier to use Predis in scripts and projects that do
not already include as PSR-0 autoloader.

Signed-off-by: Eric Naeseth <eric@thumbtack.com>
2011-09-27 17:42:06 -07:00
Jurian Sluiman 07584f859c Add methods to test for uppercase and lowercase commands
At this moment predis is only capable of lowercase commands, the test
adds the requirement to provide both lowercase, uppercase (and even
mixed case) commands.
2011-09-26 20:33:45 +02:00
Daniele Alessandri 45a5dd49a7 Merge branch 'multiexec_rewrite' 2011-08-24 16:21:08 +02:00
Daniele Alessandri bd8a44101c Change some exception messages thrown by the transaction class. 2011-08-24 11:59:47 +02:00
Daniele Alessandri 71e7cb1399 Make some methods/fields of the transaction class protected instead of private. 2011-08-24 11:49:31 +02:00
Daniele Alessandri f085d2f97d Use a protected method to get all the flags of a transaction. 2011-08-24 11:46:07 +02:00
Daniele Alessandri 647cd53235 Use 'env' in the shebang instead of looking for php in /usr/bin. 2011-08-23 15:34:25 +02:00
Daniele Alessandri 8fdf935605 Make it possible to exclude certain classes when generating a single file.
The script that is used to create a single file out of the whole repository can
now accept a list of classes (their full FQN is needed) that must be excluded
when generating the file. The list can be passed directly in the command line
(multiple -e parameters) or in text file that contains a class name on each
line (single -E parameter).

The script does also a basic check to ensure that the user is not excluding a
class that is referenced by other subclasses.
2011-08-23 15:13:40 +02:00
Daniele Alessandri 7742fd5a22 Fix the bitmask used to check the state of subscriptions in a PubSub context.
The old code was not really broken, but this one is more appropriate.
2011-08-21 15:24:06 +02:00
Daniele Alessandri 7241fe6419 Make the code that process EXEC replies more easy on the eyes. 2011-08-21 15:18:39 +02:00
Daniele Alessandri d01e738d59 Move the code that executes a transaction block to a separate method. 2011-08-21 15:15:39 +02:00
Daniele Alessandri 0bdcf299c2 Implement a few minor changes. 2011-08-21 14:58:39 +02:00
Daniele Alessandri 03d408ddad Use a single integer to store and check the current state of a transaction. 2011-08-21 14:31:04 +02:00
Daniele Alessandri 3733e790eb Reuse code. 2011-08-21 11:55:08 +02:00
Daniele Alessandri a9e34cabb1 Add a composer.json for Composer.
Composer is a package manager for PHP currently under development. You can find
details about Composer at the following URL http://github.com/composer/composer
2011-08-21 10:12:54 +02:00
Daniele Alessandri b30f495345 Change how the hash of a node is retrieved in the hashring-based distributor.
Now classes that extend Predis\Distribution\HashRing can override how the hash
of a node is retrieved in order to implement different kind of distribution
strategies while reusing the base algorithm.
2011-08-20 18:07:42 +02:00
Daniele Alessandri c6fa5232bc Unset multiple fields with just one unset(). 2011-08-20 18:00:58 +02:00
Daniele Alessandri 2b62b75557 Jot down planned improvements for the single-file builder script. 2011-08-20 16:36:11 +02:00
Daniele Alessandri 6151d6d53e Improve actual "namespace" and "use" directives detection (fix ISSUE #35). 2011-08-20 16:30:33 +02:00
Daniele Alessandri db51f6e0d0 Remove spurious carriage returns and trailing spaces. 2011-08-20 16:27:59 +02:00
Daniele Alessandri 62744fbb02 Merge branch 'webdis_connection' 2011-06-29 12:05:24 +02:00
Daniele Alessandri 05b111d6d2 Update comment. 2011-06-29 12:05:00 +02:00
Daniele Alessandri fc51f23ca7 Return cURL errors on HTTP response codes >= 400.
By default the cURL extension does not trigger any error when fetching a
response with an HTTP code >= 400. Changing this behaviour is also useful to
intercept the 403 error generated when executing Redis commands disallowed
on Webdis by using ACLs.
2011-06-08 23:07:23 +02:00
Daniele Alessandri b85bc00880 Add support for the 'connection_timeout' parameter with WebdisConnection. 2011-06-08 22:40:35 +02:00
Daniele Alessandri 86256f2819 Minor reorganization, nothing worth mentioning. 2011-06-08 21:56:11 +02:00
Daniele Alessandri bc040fae6f Change handling of unsupported methods in Predis\Network\WebdisConnection. 2011-06-08 21:53:54 +02:00
Daniele Alessandri e7d2717ee1 Switch from pecl_http to the cURL extension to make requests against Webdis.
The cURL extension is easily found already packaged for various Linux
distributions, it provides everything needed and it seems to have a lower
overhead compared to pecl_http.
2011-06-08 21:43:23 +02:00
Daniele Alessandri 0de4af07dd Fix wrong serialization for commands that do not have arguments. 2011-06-06 12:49:38 +02:00
Daniele Alessandri ff7812282e Slightly change how HTTP options are initialized and handled. 2011-06-06 12:18:37 +02:00
Daniele Alessandri e5a85dfce8 Add support for HTTP basic access authentication.
With Webdis it is possible to define some access control rules to allow or
disallow certain commands and one of the possible configurations is based on
plain old HTTP authentication.
2011-06-05 22:24:03 +02:00