axonbase / sdk
AxonBase WebSocket JSON-RPC client for PHP
Requires
- php: >=8.1
- textalk/websocket: ^1.6
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-09-04 02:17:02 UTC
README
Cliente PHP (PHP: Hypertext Preprocessor) 8.1+ para o protocolo JSON-RPC (JSON Remote Procedure Call) sobre WebSocket do AxonBase. Este SDK (Software Development Kit) implementa o cliente.
Instalação
No diretório do SDK, instale as dependências com Composer:
composer install
Em uma aplicação que referencia o pacote, carregue o autoloader do Composer e importe AxonBase\Axon.
Uso
<?php require 'vendor/autoload.php'; use AxonBase\Axon; $axon = Axon::connect('ws://127.0.0.1:8000/rpc/ws'); $axon->use('test', 'dev'); $axon->query('CREATE person CONTENT {name: "Ana", age: 30}'); $rows = $axon->select('person'); var_dump($rows); $axon->close();
Autenticação
Quando o servidor usa require_auth = true, autentique a sessão WebSocket antes de consultar. signin devolve o JWT (JSON Web Token); em seguida, passe o token para authenticate. authenticate também aceita um token obtido por outro meio.
$axon = Axon::connect('ws://127.0.0.1:8000/rpc/ws'); $axon->use('test', 'dev'); $token = $axon->signin('root', 'root'); $axon->authenticate($token); // Ou: $axon->authenticate(getenv('AXON_TOKEN')); $rows = $axon->query('SELECT * FROM person'); $axon->close();
O Bearer é um cabeçalho dos endpoints HTTP: Authorization: Bearer <JWT>. Este SDK usa WebSocket, portanto a autorização da sessão é feita por signin ou authenticate, não por esse cabeçalho.
Migrações
Use AxonBase\Migration\Migrator para aplicar arquivos .axql em ordem alfabética. O prefixo antes de _ é a versão, por exemplo 001_create_person.axql. As versões aplicadas são registradas na tabela _migration com checksum SHA-256 (Secure Hash Algorithm 256-bit), e uma execução posterior não reaplica a mesma versão.
use AxonBase\Migration\Migrator; $migrator = new Migrator($axon); $migrator->ensureTable(); $applied = $migrator->up(__DIR__ . '/migrations'); $status = $migrator->status(__DIR__ . '/migrations');
up cria a tabela de controle quando há migrações pendentes. Ele falha se o conteúdo de uma migração já aplicada for alterado. onBefore e onAfter recebem cada objeto Migration antes e depois de sua aplicação.
Métodos disponíveis: use, signin, authenticate, query, select, create, insert, update, upsert, delete, ping, version e close.