spiral/goridge
Spiral GoRidge is a high-performance PHP↔Go RPC bridge used by RoadRunner. It provides fast inter-process communication via relay transports (pipes, TCP, sockets) with a compact binary protocol, enabling scalable PHP apps and background workers.
Goridge is high performance PHP-to-Golang codec library which works over native PHP sockets and Golang net/rpc package. The library allows you to call Go service methods from PHP with minimal footprint, structures and []byte support.
Golang source code can be found in this repository: goridge
net/rpc integration, ability to connect to existing application(s)[]byte transfer, including big payloadscomposer require spiral/goridge
<?php
use Spiral\Goridge;
require "vendor/autoload.php";
$rpc = new Goridge\RPC\RPC(
Goridge\Relay::create('tcp://127.0.0.1:6001')
);
//or, using factory:
$tcpRPC = new Goridge\RPC\RPC(Goridge\Relay::create('tcp://127.0.0.1:6001'));
$unixRPC = new Goridge\RPC\RPC(Goridge\Relay::create('unix:///tmp/rpc.sock'));
$streamRPC = new Goridge\RPC\RPC(Goridge\Relay::create('pipes://stdin:stdout'));
echo $rpc->call("App.Hi", "Antony");
Factory applies the next format:
<protocol>://<arg1>:<arg2>
More examples can be found in this directory.
The MIT License (MIT). Please see LICENSE for more information.
How can I help you explore Laravel packages today?