буферы протокола — как назначить повторное сообщение в protobuf-php с синтаксисом proto3?

Файл .proto определен:

message ResponseStatus {
uint32 code = 1;
string message = 2;
}
message DepositPaymentRequest {
uint32 member_id = 1;
}
message DepositPaymentResponse {
ResponseStatus status = 1;
repeated DepositMethod methods = 2;
}
message DepositMethod {
string method_name = 1;
string payment_count = 2;
repeated DepositPayment payments = 3;
}
message DepositPayment {
uint32 payment_id = 1;
string payment_name = 2;
uint32 payment_money_min = 3;
uint32 payment_money_max = 4;
}

Мой php код:

$status = [
'code'    => 200,
'message' => 'Success'
];
$responseStatus = new ResponseStatus($status);
$depositMethods = [
[
'name'  => 'name1',
'count' => 1,
'payments' => [
[
'payment_id'        => 1,
'payment_name'      => 'name1',
'payment_money_min' => 10,
'payment_money_max' => 5000
]
]
]
];
$depositPaymentResponse = new DepositPaymentResponse();
$result = $depositPaymentResponse->setStatus($responseStatus)
->setMethods($depositMethods)
->serializeToString();

фактический:
$ результата нет данных, так как назначить повторное поле?

Я пытаюсь использовать класс RepeatedField следующим образом:

$repeatedMethods = new RepeatedField(GPBType::MESSAGE, DepositMethod::class);

Но я не знаю, как использовать это, поэтому я использую массив, чтобы назначить, но не успех

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]