在 Laravel 项目中安装 Protobuf

1、安装依赖

# 切换 composer 仓库源:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
# 安装 google/protobuff 库:
composer require google/protobuf:^3.3

2、将 Protobuf 转换成 PHP 类

Protobuf 放置目录如下:

在 protobuf -> protos 路径下对每一个 proto 文件执行转换命令:

// 【注意】:要预先创建compile 目录

protoc --php_out="../compile" dataInfo.proto
protoc --php_out="../compile" enum.proto

一定多注意执行命令的目录和输出地址,这里很容易出错,从而转换失败。具体命令行示例参考如下:

···\protobuf\protos> protoc --php_out="../compile" dataInfo.proto

经过上述操作后,转换的类库生成到 protobuf -> compile 目录下,结构如下:


3、配置自动加载

在 composer.json 中配置 autoload 参数,让生成的 protobuf PHP类自动加载。

    "require": {
        "google/protobuf": "3.3"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Cmd\\": "protobuf/compile/Cmd",
            "GPBMetadata\\": "protobuf/compile/GPBMetadata"
        }
    },

如果你已经完成了以上配置,那么恭喜你。你对在 laravel 项目中安装 protobuf 的学习就算是完结了。后面关于 protobuf 类的使用,这里就不多阐述了。希望这篇文章对你有帮助,感谢阅读!