resure / rethinkdb-php
A clean and solid RethinkDB driver for PHP.
Requires
- php: ^7.1
- psr/http-message: ^1.0
- symfony/property-access: ^4.1
- symfony/serializer: ^4.1
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^7.0 || ^8.0
This package is auto-updated.
Last update: 2024-11-08 00:21:57 UTC
README
This is a Fork of tbolier / php-rethink-ql. I have fixed some of the key problems so it is working.
- the Registry is missing a criticle line of code in constructor which lead to non-population of the $connections property;
- the example code has a mistake in parameter name which results in using fallback connection 'localhost'.
If you are just looking for a working instance of the original PHP-RETHINK-QL, you can clone this repo and use it; I am only maintaining this repo for my personal use agreed and followed by the authors license policy (Apache License 2.0) but I am neither maintaining this project nor part of the original dev team member. If you have any questions or found any issue, you can open a request and I will try my best to help, but please considering open that request at the original repo, I am sure you will get more help there.
Original README.MD
PHP-RETHINK-QL
A PHP RethinkDB driver for the RethinkDB query language (ReQL).
License: Apache License 2.0
PHP-RETHINK-QL
License
PHP-RETHINK-QL is licensed under the terms of the Apache License 2.0
Description
A new clean and solid RethinkDB driver for PHP, focused on clean code with SOLID principles in mind.
Unfortunately the original PHP-RQL driver is no longer is no longer actively maintained and patched. That's why we have started this new PHP RethinkDB driver with the goal to create an easy to understand driver that can be improved and maintained by the community.
Requirements
RethinkDB version
This library supports the RethinkDB release >=2.3.0
and protocol version V1_0
.
Earliers version of RethinkDB are not supported at this moment.
PHP
PHP version >=7.1
Supported ReQL Command API overview.
In the release roadmap you will find a table with the currently and future supported ReQL command methods.
Getting started
Multiple connections can be injected into the connection Registry
.
Create the Rethink driver object by injecting a Connection
object into it.
<?php use TBolier\RethinkQL\Rethink; use TBolier\RethinkQL\Connection\Registry; $connections = [ 'default_connection' => [ // 'host' => 'localhost', // this is an incorrect parameter key 'hostname' => 'localhost', 'port' => 28015, 'default_db' => 'demoDB', 'user' => 'demo', 'password' => 'demo', 'timeout' => 5, 'timeout_stream' => 10, ], ]; $registry = new Registry($connections); $r = new Rethink($registry->getConnection('default_connection')); // Now you can connect to RethinkDB. $r->connection()->connect();
The driver class Rethink
has a default database defined in the connection options. However you can always switch database if needed.
$r->use('demoDB-2');
The driver class Rethink
has an API Interface that supports the ReQL domain-specific language (DSL).
A create table example:
$r->db() ->tableCreate('Table') ->run();
For more examples about executing queries go to our docs section: Getting started
Contributing
Please read the contributing guidelines if you would like to contribute to this project.
Discussions and chat
You can find us at Gitter.im in the rethinkdb-php
room at https://gitter.im/rethinkdb-php/Lobby
Author and collaborators
- Timon Bolier - Author and collaborator - tbolier
- Michel Maas - Collaborator - AxaliaN
- Jérémy - Collaborator - Th3Mouk
See also the list of contributors who participated in this project.