thesis / grpc-server-reflection
gRPC server reflection protocol implementation.
Package info
github.com/thesis-php/grpc-server-reflection
pkg:composer/thesis/grpc-server-reflection
Fund package maintenance!
0.1.0
2026-04-05 07:57 UTC
Requires
- php: ^8.4
- amphp/amp: ^3.1
- thesis/googleapis-rpc-types: ^0.1.6
- thesis/grpc: ^0.1.1
- thesis/protobuf: ^0.1.8
- thesis/protoregistry: ^0.1.2
Requires (Dev)
- phpunit/phpunit: ^12.4
- symfony/var-dumper: ^8.0
README
gRPC server reflection protocol implementation
Installation
composer require thesis/grpc-server-reflection
Usage
Reflection v1 only (registerV1)
Use this when you only need reflection v1.
<?php declare(strict_types=1); use Thesis\Grpc\Server; use Thesis\Grpc\Server\Reflection; $server = new Server\Builder() ->withServices(/* your service registries */) ->build(); Reflection\registerV1($server); $server->start();
Reflection v1 + v1alpha (registerV1Alpha)
Use this when you need both reflection endpoints: v1 and v1alpha (deprecated).
<?php declare(strict_types=1); use Thesis\Grpc\Server; use Thesis\Grpc\Server\Reflection; $server = new Server\Builder() ->withServices(/* your service registries */) ->build(); Reflection\registerV1Alpha($server); $server->start();
Why
Server Reflection lets gRPC clients discover services and schemas at runtime, without local .proto files.
This is useful for:
- ad-hoc debugging and smoke checks when proto files are not locally available;
- interactive API exploration;
- fast integration checks in CI and local development.
With reflection enabled you can use tools like grpcurl and grpcui.
grpcurl
# List all services grpcurl -plaintext localhost:50051 list # Show methods for a service grpcurl -plaintext localhost:50051 describe thesis.echos.api.v1.EchoService
grpcui
grpcui -plaintext localhost:50051
Then open the URL printed by grpcui in your browser.