您现在的位置是:群英 > 开发技术 > PHP语言
PHP中如何安装和使用protobuf
Admin发表于 2022-10-08 17:52:28839 次浏览
今天这篇给大家分享的知识是“PHP中如何安装和使用protobuf”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,因此分享发大家做个参考,下文的讲解详细,步骤过程清晰,希望这篇“PHP中如何安装和使用protobuf”文章能帮助大家解决问题。

概要

这里是一篇操作教程,记录下来方便后续复习。
在PHP中使用protobuf(v3)进行序列化和反序列化,从安装到使用需要进行哪些步骤,注意哪些问题。

操作环境
Centos7.8
php7.4

安装

github上搜索google/protobuf,找到官方源库文档,找到对应的PHP文档,按照官方文档去进行操作。

文档中安装涉及了两个部分,一个是安装protobuf的C扩展,另一个是依赖包google/protobuf

C扩展的安装使用pecl命令(需要使用find / -name pecl查找,安装的路径并没有在环境变量中);

除此之外还依赖其他的命令需要先行安装,C扩展下载安装的路径不符合预期(我的php使用remi-php的库安装,路径和原始镜像的默认设置不同);

之后需要对protobuf.so建立软链接;

之后使用composer安装依赖包即可。

接下来还需要代码生成器protoc,[proto的安装],解析定义文件*.proto并生成对应php代码,在项目中使用,需要引入对应的代码才可以,需要变更composer.json文件增加autoload配置,如果是测试,也可以手动require

使用

使用主要分为两点,一个是序列化,另一个是反序列化。【推荐:PHP视频教程】

$pb=new Demo();
$pb->setName('demo');

//序列化,数据不可看
$string=$pb->serializeToString();

//序列化,数据可看
$string=$pb->serializeToJsonString();

//反序列化
$pb=new Demo();
//从db中获取到的序列化值,反序列化赋值给$pb,然后就可以正常使用
$pb->mergeFromString($string);
$pb->mergeFromJsonString($string);

$pb->getName();//输出demo

通过以上内容的阐述,相信大家对“PHP中如何安装和使用protobuf”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: php使用protobuf
相关信息推荐
2022-09-24 17:13:19 
摘要:在本篇文章里小编给大家分享的是一篇关于php7 没有phpize的解决方法及相关问题总结,有需要的朋友们可以跟着学习下。
2022-09-19 17:57:58 
摘要:我们已经了解了在PHP中怎样去打开和关闭目录,在关闭目录之前会对目录进行操作,其中常用到的操作就有获取目录中的文件和文件夹。也就是说,想要了解怎样去获取目录中的文件的话,首先还是得会打开和关闭目录,因此opendir() 函数和closedir()函数还不了解的可以点击上方的连接进行学习。下面我们就来看一下PHP中怎样才能完成目录下文件的获取吧。我们在PHP中可以通过readdir()函数和scandir()函数来完成获取目录中文件名的操作。
2022-07-11 17:53:57 
摘要:smarty模板在PHP中用于将原本与HTML代码混杂在一起的PHP代码逻辑分离;smarty是一种PHP写出来的模板引擎,smarty分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法实现html与PHP代码逻辑分离的效果,导入语法为“require_once('...Smarty.php')”。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部