mirror of
https://github.com/Bubka/2FAuth.git
synced 2024-11-29 11:43:26 +01:00
45 lines
1.0 KiB
Markdown
45 lines
1.0 KiB
Markdown
# Protobuf How To
|
|
|
|
⚠️ 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)
|