goridge
v3.8.3
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 a minimal footprint, structures and []byte
support.
PHP source code can be found in this repository: goridge-php
net/rpc
integration, ability to connect to existed application(s)[]byte
transfer, including big payloadsGO111MODULE=on go get github.com/roadrunner-server/goridge/v3
package main
import (
"fmt"
"net"
"net/rpc"
goridgeRpc "github.com/roadrunner-server/goridge/v3/pkg/rpc"
)
type App struct{}
func (s *App) Hi(name string, r *string) error {
*r = fmt.Sprintf("Hello, %s!", name)
return nil
}
func main() {
ln, err := net.Listen("tcp", ":6001")
if err != nil {
panic(err)
}
_ = rpc.Register(new(App))
for {
conn, err := ln.Accept()
if err != nil {
continue
}
_ = conn
go rpc.ServeCodec(goridgeRpc.NewCodec(conn))
}
}
The MIT License (MIT). Please see LICENSE
for more information.