Мне интересно, есть ли быстрый способ получить массив PHP из \Google\Protobuf\Internal\Message
объект, который возвращается от клиента GRPC без необходимости явного сопоставления полей объектов ответа с массивом.
Учебник GRPC кажется, получить поля, вызывая их получателей:
$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);
Есть ли более быстрый способ? Я вижу decode()
метод на \Google\Protobuf\Internal\Message
класс, но не повезло с тем, чтобы заставить его работать. Я не знаю, является ли это его целью.
Задача ещё не решена.
Других решений пока нет …