PHP 后端成长路线图(2022 版)

Laravel

IT 中有大量工具可以简化程序员的工作流程并提高产品效率。但是在学习 PHP 的最开始,选择正确的方向和首先学习的工具可能是一个难题。现在此类问题通常以 常见解决方案 - 路线图 - 回答「接下来要学习什么?」 的顺序进行解答。我想在文章中讨论的主题——在哪里投入时间和精力来更快地学习 PHP 并成为一名受欢迎的后端程序员。

PHP 和 Git 基础知识

学习编程语言——这只是一个开始。即使在这里,采取正确的步骤也很重要。不要旨在学习和记住有关 PHP 的所有内容,而只是专注于你将在 90% 的时间内使用的工具。当然,始终在实践中应用收集到的技能。

Laravel

学习 PHP 之后的下一个值得关注的事情 - Git。无论你选择哪种编程语言,你都可能每天都在使用它。简而言之,Git 是一个团队协作工具,它允许你管理和保存你的代码所处的状态。

包管理工具 Composer 和数据库

在大多数情况下,使用第三方扩展库是一个很好的解决方案。特别是当他们赢得了社区的信任,这将极大提升你的效率。为了有效地使用它,你应该学习 Composer - 一个第三方扩展包管理器,它可以极大地简化你引用和更新所有 PHP 依赖项的过程。

Laravel

紧接而来,我们需要来选择我们所使用的数据库。市场上有如此多的解决方案,因此很难列出并且不要忘记任何一个。但是,数据库领域的顶流选择只有那么几个,我个人建议你可以结合你的技术栈和业务场景进行挑选。对于关系数据库,推荐你选择 PostgreSQL,对于 NoSQL - MongoDBPDO 将有助于了解 PHP 与你的数据之间的所有交互是如何发生的,而 ORM 将提高你使用数据库的效率和安全性。

工作流程优化

对于任何程序员来说,速度都是最重要的因素之一。而调试速度直接影响它。现在有两种主流解决方案可以在代码中通过填充植入 echovar_dump 来调试代码,但我建议是使用第一个也是更常见的 - xDebug。连接和配置它并不难,学会了会给你带来莫大的好处。

Laravel

代码的质量和风格似乎是主观的东西,但团队合作确实经常需要它。在 PSR-12 标准中,你可以找到有关如何设置样式的建议列表。该标准不是唯一现有的标准,但它绝对是最常见的。为了简化后续操作,你可以使用 CodeSniffer。为了养成编写干净代码的习惯,你可以使用PsalmPhanPHPStan 代码风格检查工具。没有必要每个都学——最好选择你最喜欢的。就我而言,保持良好的习惯,阅读这些标准就像是读诗一样让我着迷。

那 HTML 呢?

谈到 PHP,全栈的提法越来越少。各类技术领域的分工早已被明确下来,PHP 在后端占据了光荣的位置。因此学习 HTML 对我们来说不是必需的,而是一种优化。真正重要的是清楚地了解如何实现与前端的交互。对我们来说,这方面的基本内容是 REST 和 JSON API。开发过程中,浏览器可能会被 Postman - 一种调试 API 的终极工具所取代。养成使用 OpenAPIBlueprint 记录接口的习惯将使您免于同事不断提出的问题。

Laravel

开始你的项目

该项目的高响应率不仅归功于服务器,还归功于高质量的代码。想要提升这一指标,减少对数据库的请求数或记住大量计算的结果以减少服务计算量就足够了。合理使用缓存机制可以帮助我们解决这个问题。你可以在 PSR-6PSR-16 标准。并根据项目选择最终的缓存机制。

Laravel

另一种加快项目速度的常用方法是在后台异步执行数据的处理。这里有两类解决方案:任务调度程序(Crontab)将用于执行邮件、重新计算关税和其他常规任务。消息代理将允许你将繁重的操作带到后台并监控它们的执行,而不会减慢对用户的响应。

测试和框架

并非所有团队都为代码编写测试。这种情况取决于众多现实因素,导致我们所编写的代码没有得到完整的测试覆盖。但了解如何编写可测试的代码是极其重要的。使用 PHPUnit 练习将帮助你获得该领域的知识。如果你想尝试其他方法,可以关注 Codeception

Laravel

当研究了很多工具后,是时候将它们组合成一个连贯的系统了。为了不重新发明轮子,请选用当前流行的框架来进行开发。在这些现代化框架中,你将找到最佳的现代实践,并习惯于高质量的架构。我建议从以下两个最受欢迎的框架中进行选择:

  • Symfony – 以严谨出名的 PHP 框架,主要用于高负载的应用程序。
  • Laravel – 当下最常见和最受欢迎的框架。

分析和监控

当你的项目启动时,监控它的「健康」是很重要的。服务器能应付吗?是否存在 DDoS 攻击?产品上有致命的例外吗?监控是一个简单而有用的工具,可以为你解答以上所有的问题。你应该从记录开始。 PSR-3 标准描述了接口,Monolog 将为你提供日志记录的能力,你不需要编写自己的日志记录服务。 Sentry 将帮助你及时了解你的错误,记录程序运行的堆栈和影响范围,Grafana 将构建漂亮的图表,以及 GraylogELK 将简化日志搜索和事件调查。

Laravel

然而,总会有一些情况是无法通过简单的监控来解决的。例如,如果应用程序在某些区域异常缓慢。借助分析工具可以最有效地解决此类事件。一般情况下,你不会很高频的用到它们,但重要的是要记住它们的存在。

当然,PHP 的世界不仅限于这篇文章中列出的工具,在掌握了它们之后,还有很多东西需要学习。请记住:在你的 PHP 开发之旅开始时,你应该专注于你将在 80-90% 的团队中遇到的主要和最常见的事情。所有列出的程序和方法都是根据这个标准选择的。保存这张 RoadMap(路线图),并在你的成长过程中中不断回顾它。最后:在学习和建立事业方面取得成功。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/he110/php-backend-roadmap...

译文地址:https://learnku.com/laravel/t/66831

本帖已被设为精华帖!
本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 10
wenber

在你的 PHP 开发之旅开始时,你应该专注于你将在 80-90% 的团队中遇到的主要和最常见的事情。

这个在国内行不通.

2个月前 评论
Geroge 2个月前

学习了,但对于国情来说,等于脱了裤子放屁。

2个月前 评论

不是滴滴 || 众包吗

2个月前 评论

拿来主义吗,根本行不通,

2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!