bee / client
Bee 的 PHP 客户端。
dev-master
2017-09-14 11:52 UTC
Requires
- php: ^5.6|^7.0
Requires (Dev)
- ext-msgpack: @dev
- rybakit/msgpack: @dev
Suggests
- ext-msgpack: For using PeclPacker.
- rybakit/msgpack: For using PurePacker.
This package is not auto-updated.
Last update: 2024-09-29 04:24:39 UTC
README
安装
推荐通过 Composer 安装此库
$ composer require bee/client:@dev
用法
use Bee\Client\Client; use Bee\Client\Connection\StreamConnection; use Bee\Client\Packer\PurePacker; $conn = new StreamConnection(); // or // $conn = new StreamConnection('tcp://127.0.0.1:3301', [ // 'socket_timeout' => 5.0, // 'connect_timeout' => 5.0, // 'tcp_nodelay' => true, // ]); // or // $conn = new StreamConnection('unix:///tmp/bee_instance.sock'); $client = new Client($conn, new PurePacker()); // or // $client = new Client($conn, new PeclPacker()); // if authentication credentials are required // $client->authenticate('username', 'userpass'); $space = $client->getSpace('my_space'); // Selecting all data $result = $space->select(); var_dump($result->getData()); // Result: inserted tuple { 1, 'foo', 'bar' } $space->insert([1, 'foo', 'bar']); // Result: inserted tuple { 2, 'baz', 'qux'} $space->upsert([2, 'baz', 'qux'], [['=', 1, 'BAZ'], ['=', 2, 'QUX']]); // Result: updated tuple { 2, 'baz', 'qux'} with { 2, 'BAZ', 'QUX' } $space->upsert([2, 'baz', 'qux'], [['=', 1, 'BAZ'], ['=', 2, 'QUX']]); $result = $client->evaluate('return ...', [42]); var_dump($result->getData()); $result = $client->call('box.stat'); var_dump($result->getData());
注意
使用库提供的打包类需要安装额外的依赖项,这些依赖项不直接包含在库中。因此,您必须手动安装它们。例如,如果您计划使用 PurePacker,请安装 rybakit/msgpack 包。请参阅 composer.json 的 "suggest" 部分,了解其他选项。
测试
运行单元测试
$ phpunit --testsuite Unit
运行集成测试
$ phpunit --testsuite Integration
确保首先启动 client.lua。
运行所有测试
$ phpunit
如果您已安装 Docker,可以在 Docker 容器中运行测试。首先,创建一个容器
$ ./dockerfile.py | docker build -t client -
上述命令将创建一个名为 client
的容器,具有 PHP 7.1 运行时。您可以通过定义 IMAGE
环境变量来更改默认运行时
$ IMAGE='php:7.0-cli' ./dockerfile.py | docker build -t client -
请在此处查看各种镜像列表 这里。
然后运行 Bee 实例(集成测试需要)
$ docker network create bee-php
$ docker run -d --net=bee-php --name=bee -v `pwd`:/client \
bee/bee:1.7 bee /client/tests/Integration/client.lua
然后运行单元测试和集成测试
$ docker run --rm --net=bee-php --name client -v $(pwd):/client -w /client client
许可证
WTF 许可证