020-29815005
预约专线时间:09:00-23:59

高级PHP程序员进阶:学Golang

新闻来源:本站 日期:2021-05-25
自从PHP7发布以来,类型方面已经有了很大的改进,从而使语言本身更加优雅。然而,PHP对web开发来说只是工具包中的一个,而对高级程序员来说,不能把PHP放到工具包中。Golang是另一个高级工具,它可以在PHP中发挥1+1>2的作用。
  PHP和Java是两个完全不同的哲学,前者致力于简化web开发(quick&dirty),而Java是大而全的,厚重的,严谨的,只要按流程开发就不会出错。不管怎样,用PHP和开放源码创建小型项目的速度是其它任何语言所不能比拟的,建立个人博客或网店可能只需半个小时(甚至更短)就能上线。

  自从PHP7发布以来,类型方面已经有了很大的改进,从而使语言本身更加优雅。然而,PHP对web开发来说只是工具包中的一个,而对高级程序员来说,不能把PHP放到工具包中。Golang是另一个高级工具,它可以在PHP中发挥1+1>2的作用。

  Google12年前发明的Go,经过考验,越来越成熟。与PHP不同的是,Go是静态强类型,编译型,和发型语言,而且Go的优点是PHP所没有的。

  Go是一种系统语言,它能够为PHP提供强大的可扩展性(Scalability)。

  在基本架构(infrastructure)级别上,RoadRunner是一个Go语言编写的框架,C++编写的Swoole是类似的框架。在Swoole这个框架的基础上,Swoft,Hyperf,EasySwoole也得到了发展,在这篇文章中我们将不再深入讨论。

  如上图所示,RoadRunner在高流量情况下比非阻塞ReactPHP具有更好的性能,同时摆脱了PHP-FPM等传统模式的几条街道。

  Golang何时会被使用?

  PHP在遇到瓶颈时,比如耗尽了大量内存,反复读写数据库,读取庞大的文本文件等等,Golang可以用来拯救这个市场。简单地说,Golang可以帮助PHP完成一些困难的任务。


PHP设计


  为何不需要C/C++或Java?

  在执行效率方面,C/C++胜过大多数其他语言,但与Golang相比,开发效率并不高。与C家族相比,Java开发的效率更高,但其环境开销也更大,而Golang则显得轻盈优雅。总之,Golang既有执行效率,又有开发效率,对于追求quick&dirty理念的PHP来说,可谓意气风发,相得益彰。

  学Golang能让你成为更优秀的程序员。

  格伦的哲学是lessismore,他非常强调简单性和标准化。在gofmt和golint的帮助下,Golang编程人员可以编写出大致一致的标准代码。总而言之,戈伦追求的是一种简约主义。

  Web开发这一领域的一门编译语言,实际上可以让你从另一个角度去看Web开发。

  您可以直接在PHP代码中使用Go。

  假如您的能力足够强,当然您可以编写您自己的底层框架,或对现有框架进行扩展(如RoadRunner),不过还有一些利用Go高效的简单方法。

  例如,您可以将对PHP来说非常繁重的工作写入到Go服务中,您可以通过MQ或API进行通信。

  Golang的特殊武器:并发。

  总而言之,Golang是一门非常值得学习的语言。另一种语言是Rust,多艺不压身,多学一点总是好事。