Me pregunto si hay una forma rápida de obtener una matriz PHP del objeto \Google\Protobuf\Internal\Message que se devuelve desde el cliente GRPC sin tener que asignar explícitamente los campos de objetos de respuesta a una matriz.
El tutorial de GRPC parece obtener los campos llamando a sus captadores:
$point = new Routeguide\Point(); $point->setLatitude(409146138); $point->setLongitude(-746188906); // $feature is the response list($feature, $status) = $client->GetFeature($point)->wait(); // Calling getters here print sprintf("Found %s \n at %f, %f\n", $feature->getName(), $feature->getLocation()->getLatitude() / COORD_FACTOR, $feature->getLocation()->getLongitude() / COORD_FACTOR); ¿Hay una manera mas rápida? Veo el método decode() en la clase \Google\Protobuf\Internal\Message pero no he tenido suerte para que funcione. No sé si ese es su propósito tampoco.
Sé que es un poco tarde, pero para cualquiera que busque la respuesta hoy,
a continuación se muestra lo que hago para serializar la respuesta del objeto gRPC directamente a un objeto json:
$feature->serializeToJsonString();