datastax / php-driver
DataStax PHP Driver for Apache Cassandra
Requires
- php: >=5.6.0
- ext-cassandra: ^1.0.0
Requires (Dev)
- behat/behat: ~3.0.6
- phpunit/php-code-coverage: ~2.0
- phpunit/php-token-stream: ~1.3
- phpunit/phpunit: ~4.8
- symfony/process: ~2.1
This package is not auto-updated.
Last update: 2024-09-14 17:00:52 UTC
README
⚠️ PHP驱动处于维护模式。我们仍然接受pull请求,并将不定期发布关键错误修复,但目前没有进行持续的活动开发。
DataStax PHP Driver for Apache Cassandra
这是一个现代、功能丰富且高度可调的PHP客户端库,用于Apache Cassandra 2.1+,仅使用Cassandra的二进制协议和Cassandra查询语言v3。使用DSE PHP驱动以获得更好的兼容性和对DataStax Enterprise的支持。
这是一个围绕DataStax C/C++ Driver for Apache Cassandra的包装器。
注意:DataStax产品不支持大端系统。
获取驱动器
该驱动器的二进制版本适用于多个操作系统和多个版本的PHP,可从DataStax下载服务器获取。源代码通过GitHub提供。如果您使用DataStax Enterprise,请使用DSE PHP驱动。
注意:驱动程序扩展是围绕DataStax C/C++ Driver for Apache Cassandra的包装器,并且在正确安装PHP扩展二进制文件之前是一个必需条件。在继续之前,请确保满足这些依赖关系。
v1.2.0/v1.3.0中的新功能
- 支持
duration
Session::execute()
和Session::executeAsync()
现在支持CQL查询的简单字符串和一个简单数组作为查询执行选项- 对Apache Cassandra 2.2和3.0+的全支持
- 支持
tinyint
和smallint
- 支持
date
和time
- 支持用户定义函数和聚合元数据
- 支持二级索引和物化视图元数据
兼容性
此驱动程序仅与Cassandra查询语言v3 (CQL3)和Cassandra的本地协议一起使用。当前版本与以下版本兼容:
- Apache Cassandra版本2.1、2.2和3.0+
- PHP 5.6、PHP 7.0和PHP 7.1
- 32位(x86)和64位(x64)
- 线程安全(TS)和非线程安全(NTS)
- 编译器:GCC 4.1.2+、Clang 3.4+ 和 MSVC 2010/2012/2013/2015
如果使用DataStax Enterprise,则DSE PHP 驱动提供了更多功能和更好的兼容性。
文档
获取帮助
- JIRA:https://datastax-oss.atlassian.net/browse/PHP
- 邮件列表:https://groups.google.com/a/lists.datastax.com/forum/#!forum/php-driver-user
- DataStax Academy via Slack:https://academy.datastax.com/slack
快速入门
<?php $cluster = Cassandra::cluster() // connects to localhost by default ->build(); $keyspace = 'system'; $session = $cluster->connect($keyspace); // create session, optionally scoped to a keyspace $statement = new Cassandra\SimpleStatement( // also supports prepared and batch statements 'SELECT keyspace_name, columnfamily_name FROM schema_columnfamilies' ); $future = $session->executeAsync($statement); // fully asynchronous and easy parallel execution $result = $future->get(); // wait for the result, with an optional timeout foreach ($result as $row) { // results and rows implement Iterator, Countable and ArrayAccess printf("The keyspace %s has a table called %s\n", $row['keyspace_name'], $row['columnfamily_name']); }
安装
pecl install cassandra
贡献
阅读我们的贡献政策以获取对过程的详细描述。
代码示例
DataStax PHP 驱动使用惊人的Behat 框架进行端到端测试或验收测试以及文档。驱动程序支持的每个功能都有适当的验收测试,以及在 features/
目录中的易于复制的代码示例。
运行测试
为了您的方便,提供了一个带有配置好的测试配置的Vagrantfile
。要执行测试,请运行以下命令
git clone https://github.com/datastax/php-driver.git
cd php-driver
git submodule update --init
vagrant up
vagrant ssh
一旦您登录到 vagrant 虚拟机,请运行
cd /usr/local/src/php-driver
./bin/behat
./bin/phpunit
版权
© DataStax, Inc.
根据Apache许可证版本2.0(“许可证”)授权;除非遵守许可证,否则不得使用此文件。您可以在以下位置获得许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证下管理许可和限制的具体语言,请参阅许可证。