diff --git a/app/Protobuf/README.md b/app/Protobuf/README.md index ac36a453..5e21377e 100644 --- a/app/Protobuf/README.md +++ b/app/Protobuf/README.md @@ -1,7 +1,44 @@ -# Protobuf class generation +# Protobuf How To -## cli +⚠️ Protobuf classes are generated, do NOT modify the classes manually ⚠️ + +## Setup + +- Install the protobuf compiler ```sh +sudo apt install protobuf-compiler +``` + +- Install the protobuf PHP extension + +```sh +sudo pecl install protobuf +``` + +- Install the composer package + +```sh +composer require google/protobuf +``` + +Reference: [protobuf/php](https://github.com/protocolbuffers/protobuf/tree/main/php) + +## Generate the class + +- Edit the *.proto file + +>Reference: [protocol-buffers/docs/proto3](https://developers.google.com/protocol-buffers/docs/proto3) + +- Run the following cli command: + +```bash protoc --proto_path=app/Protobuf/ --php_out=. app/Protobuf/GoogleAuth.proto ``` + +Protoc will generate the files in `app/Protobuf` while we want them to be in `App/protobuf`. + +- Moves the files from `app/Protobuf` to `App/protobuf` +- Update the namespace of the moved files to match their new location + +>Reference: [protocol-buffers/docs/php-generated](https://developers.google.com/protocol-buffers/docs/reference/php-generated#invocation)