spiral/grpc-client
Powerful, extensible PHP gRPC client with a simple Guzzle-like API. Supports standalone use or Spiral integration, configurable via DTOs, includes common interceptors (timeouts, retries) and dedicated exceptions. Requires the PHP gRPC extension.
.proto files for service definitions, enforcing strong contracts between services. This aligns with modern microservices practices but adds a dependency on Protobuf tooling (protoc).GrpcClientBootloader) and RoadRunner simplifies adoption for teams already using these tools. Standalone usage is also supported for non-Spiral projects.protoc and protoc-gen-php-grpc for code generation. Teams without Protobuf experience will face a learning curve.ServiceClientProvider enables DI integration.GrpcException), but application-level handling (e.g., retries for UNAVAILABLE) must be explicitly implemented.grpcurl or custom interceptors (e.g., logging) are essential.protoc and protoc-gen-php-grpc available for Protobuf compilation?GrpcClientBootloader and RoadRunner bridge. Ideal for Spiral-based microservices..proto files.ServiceClientProvider). Requires manual DI setup.GrpcClient works but lacks framework-specific optimizations..proto files for candidate services using protoc.MailSender) in isolation.GrpcClient (no framework dependencies).GrpcClientBootloader to Kernel.php. Configure via GrpcClientConfig.ServiceClientProvider to the container. Use dependency injection for service interfaces..proto files are compatible with protoc-gen-php-grpc. Avoid experimental features.composer.json constraints).grpc >= 1.40.0).protoc-gen-php-grpc. Avoid manual gRPC stubs.InterceptorInterface. Order matters (e.g., auth before retries).protoc..proto files and PHP gRPC stubs.spiral/grpc-client (composer require spiral/grpc-client).GrpcClient (standalone or via framework bootloader).ServiceConfig for each gRPC service.UNAVAILABLE, DEADLINE_EXCEEDED).spiral/grpc-client and PHP gRPC extension for breaking changes. The package is actively maintained (last release: 2026-03-19)..proto files require regenerating PHP stubs and updating clients. Version .proto files to avoid breaking changes.TlsConfig).grpcurl to test connectivity.GrpcException for error handling. Log interceptors for observability.How can I help you explore Laravel packages today?