PHP 后端路线图
IT 领域有大量工具可以简化程序员的工作流程,提高产品效率。但在 PHP 学习初期,选择正确的方向和学习工具可能是一个难题。现在,解决此类问题的常用方法是使用路线图——一种可视化的序列图,可以回答“下一步该学什么?”的问题。我想在本文中讨论的主题是:如何投入时间和精力,才能更快地学习 PHP,成为一名炙手可热的后端程序员。
PHP 和 Git 基础知识
学习编程语言——仅仅是个开始。即使如此,正确的步骤也至关重要。不要试图学习并记住 PHP 的所有内容,只需专注于你 90% 时间都会用到的工具即可。当然,要始终将学到的技能运用到实践中。
学习 PHP 之后,下一个值得关注的技能是Git。无论你选择哪种编程语言,你都可能每天都会用到它。简而言之,Git 是一个团队协作工具,可以让你保存代码状态。
作曲家和数据库
在大多数情况下,使用外部库是一个很好的解决方案,尤其是当它们赢得了社区的信任时。为了有效地使用它,你应该学习Composer——一个可以极大地简化连接和更新所有 PHP 依赖项的过程的数据包管理器。
最后,我们来谈谈数据库。市面上的解决方案琳琅满目,很难一一列举,以免遗漏。然而,该领域也有一些领导者,我个人建议选择它们作为你的技术栈。关系型数据库是PostgreSQL , NoSQL 是MongoDB。PDO有助于理解 PHP 与数据之间的所有交互方式,而 ORM 则可以提升通信的有效性和安全性。
工作流程优化
对于任何程序员来说,速度都是最重要的因素之一。而调试速度直接影响着速度。目前有两种主要解决方案可以消除代码中的种子echo
和var_dump
错误,但我的建议是使用第一种更常见的解决方案——xDebug。它的连接和配置并不难,而且总是会带来好处。
代码的质量和风格看似主观,但团队合作却常常需要它。在PSR-12标准中,您可以找到关于如何设计代码风格的建议列表。该标准并非唯一现存的标准,但绝对是最常用的。为了简化遵循该标准的操作,您可以使用CodeSniffer。为了养成编写简洁代码的习惯,您可以使用Psalm、Phan或PHPStan代码检查工具。无需每个都学习,最好选择您最喜欢的一个。就我而言,我使用的是 Psalm 。
HTML 怎么样?
说到 PHP,全栈越来越少被提及。工作领域早已分化,PHP 在后端占据了重要的地位。因此,学习 HTML 对我们来说并非必需,而是一种优化。真正重要的是清楚地了解如何实现与前端的交互。对我们来说,这方面的关键是 REST 和 JSON API。Web 浏览器可能会被Postman取代——一个终极 API 调试工具。养成使用OpenAPI或Blueprint编写接口文档的习惯,可以让你免于同事的不断提问,并为你带来 karma 值 +10。
推动项目
项目的高响应率不仅归功于服务器,也归功于高质量的代码。有时,为了提高响应率,只需减少对数据库的请求次数或记住繁重计算的结果即可。缓存机制可以帮到我们。您可以在PSR-6和PSR-16标准中找到组织缓存的接口。请根据项目情况选择最终的缓存机制。
另一种常见的加速项目运行的方法是在后台执行处理。这里有两类解决方案:任务调度程序(Crontab)可用于执行邮件发送、重新计算资费和其他常规任务。消息代理允许您将繁重的操作转移到后台并监控其执行情况,而不会降低用户响应速度。
测试和框架
并非所有团队都会为代码编写测试。这需要考虑许多因素。但了解如何编写可测试的代码至关重要。使用PHPUnit进行练习将有助于您积累这方面的知识。如果您想尝试其他方法,请关注Codeception。
研究过很多工具之后,就该把它们组合成一个连贯的系统了。为了避免重复造轮子,不妨关注一下一些流行的框架。在这些框架中,你不仅可以找到最佳的现代实践,还能熟悉高质量的架构。我建议从以下两个最受欢迎的选项中进行选择:
分析和监控
项目启动后,监控其“健康状况”至关重要。服务器是否运行正常?是否存在 DDoS 攻击?生产环境中是否存在致命异常?监控是一个简单实用的工具,可以解答所有这些问题。您应该从日志记录开始。PSR -3标准描述了接口,而Monolog可以让您免于编写自己的日志服务。Sentry可以帮助您及时了解错误,Grafana可以构建精美的图表,而Graylog或ELK可以简化日志搜索和事件调查。
然而,有些情况无法通过简单的监控来解决。例如,如果应用程序在某些区域异常缓慢。借助性能分析工具,可以最有效地解决此类事件。您不会经常使用它们,但记住它们的存在非常重要。
当然,PHP 世界并不局限于上述工具,掌握它们之后,还有很多东西需要学习。但请记住:在旅程伊始,你应该专注于 80% 到 90% 的团队中都会遇到的主要和最常见的事情。所有列出的程序和方法都是根据这一标准选择的。请保存好路线图,并在你的学习之旅中查看。最后:祝你学业有成,事业有成。
文章来源:https://dev.to/he110/php-backend-roadmap-2j1a