PHP容易学吗?和go语言比较是否好学?
精简的说PHP语言就是短平快,好维护。
为了改进旧程序,实现更好的性能、更轻松地部署以及提升测试覆盖率,选择从 PHP 切换到 Go 开发 Web 应用程序。但没想到的是,在使用了 Go
两年之后,Danny 又重新回到了 PHP 。
PHP 的改进
在过去的三年里,PHP 改进了许多:
增加了标量类型声明
增加了返回值类型声明
增加了多 catch 异常
以及非常优异的性能改进
Symfony4 改变了世界
我很喜欢 Symfony 的兼容性承诺,以及他们13年来为之做出的努力。
所以,当 Symfony4(https://symfony.com/4)发布时,我听到了这个好消息就去尝试了一下,用它实现了一个小的应用程序。
PHP容易学吗?和go语言比较是否好学?
结论是:太棒了,真的太棒了。
Symfony4 在简化安装上花费了许多心思,启动一个 Symfony 应用程序可以更方便快捷,需要的配置工作也更少。现在它已经赶超了 Laravel
的快速开发,同时它还鼓励许多很不错的开发实践,避免开发时落入自己的陷阱。而且它的性能也非常好(http://www.phpbenchmarks.com/en/)。
将旧的 Lavarel 应用程序移植到 Symfony 很容易,只需要重新实现一些用 Go 写的功能,撤销之前实现的一些便捷方式(大多数归因于
Laravel 的全局 helper)即可。
一个非常好的意外收获是我可以很大程度上提高开发中的测试覆盖率。两遍甚至三遍地反复编写同一个应用程序让我对其非常熟悉。
Symfony的调试工具栏也非常棒。它能显示从请求到响应过程中发生的一切,显示出一切警告和不推荐使用的警告,还有内置的性能工具,可以很容易地对代码进行性能测试。
在学习了 Symfony 的 Form
组件之后,我深深地爱上了它。设计一个可访问、可重用的表单变得极其容易,还能在提交时验证表单内容,并且安全地根据表单数据填充PHP对象。
另一个我们进行改进的应用程序的软件是 Doctrine。模型(实体)是普通的 PHP
类,关系(关联)是普通的引用,这使得逻辑测试非常容易,无需再考虑数据库实现。
在 Doctrine 中,默认所有操作都封装在 SQL 事务中。在我看来这一点非常重要 —— 它保证了原子性。而在 Eloquent
中实现这一点需要大量工作。
Go 依然很强大
实话实说,Go 非常优秀。它非常简单,能实现 PHP 绝无可能达到的性能。如果我们需要小型的 API 或需要高吞吐量的功能,我依然会选择
Go。
但我们的应用程序需要大量的服务器端渲染的工作。尽管 Go 可以做到这一点(过去两年已经证明了),但使用 PHP 实现会更容易维护。
PHP容易学吗?和go语言比较是否好学?总结一下PHP的优势也在于很多的网站,例如旅游网站或者是咨询网站等等大多数都是用的PHP语言,PHP使用的普遍性和PHP语言的优势都很明显。PHP非常适用于快速开发。这篇文章不是为了说明go语言不好用或者是go语言的缺点,而是强调PHP语言的方便和实用性。