google/cloud-common-protos
PHP classes generated from the protocol buffer types shared across multiple Google Cloud APIs. Stable and backward-compatible, this Apache 2.0 licensed Composer package lets you depend on these common protos directly via composer require google/cloud-common-protos.
AuditLog, Status, HttpRequest, OperationMetadata) in PHP. Any roadmap item that touches GCP audit logging, standardized error envelopes, or long-running operation metadata should assume these types come from google/cloud-common-protos rather than being hand-rolled — that removes a schema-maintenance workstream from the backlog.google/cloud-logging, google/cloud-pubsub, and friends). The PM decision is whether to permit direct ^1.0 pinning in composer.json or require all usage to arrive indirectly through SDKs. Default recommendation: indirect only, direct only when a feature genuinely needs the shared types outside an SDK call path.google/protobuf PHP extension and, for gRPC, grpc/grpc. That's an infrastructure commitment affecting Docker images, CI runners, and possibly shared hosting. This should be a stated platform prerequisite in the technical roadmap, not discovered mid-sprint.Google\Rpc\Status, audit entries), using the canonical types reduces integration friction for enterprise customers and partners — a differentiator worth calling out in positioning.spatie/laravel-data). That's an architectural cost to schedule, not a hidden one.Adopt (directly or indirectly) when:
composer.lock today and the only real decision is governance, not adoption..proto schemas requiring generated PHP classes.Look elsewhere (or skip) when:
google/protobuf extension (managed/shared hosting, restricted container policies) and no pure-PHP fallback is acceptable.For executives — one paragraph: This is a small, free (Apache-2.0), Google-maintained library of shared data definitions that our Google Cloud integrations already depend on. It isn't a product feature in itself; it's plumbing that lets us produce audit logs and error responses in exactly the format Google Cloud expects, which shortens compliance work and reduces integration risk with enterprise customers. The strategic decision is not "should we use it" — we almost certainly already do, transitively — but "should we allow it to be used directly," and my recommendation is yes, narrowly, only where a feature needs Google's shared types outside of a standard SDK call. The main cost is a runtime prerequisite (the protobuf PHP extension), which we should confirm in our deployment pipeline before committing to any gRPC-dependent roadmap item.
For engineering — the short version:
Adopt as a transitive dependency by default via the Google Cloud PHP SDKs; pin ^1.0 explicitly only where shared types are needed directly. Budget for: the google/protobuf extension in all environments (CI and production), a mapper between immutable protobuf messages and Eloquent/Collections, and custom JSON serialization (serializeToJsonString()) wherever protobuf objects hit an API response. Treat Google's schema deprecations as a monitored, low-severity risk with feature flags as the mitigation. Do not build custom protobuf tooling until a gRPC use case is funded and staffed.
How can I help you explore Laravel packages today?