PHP 7:真实世界的应用开发(中文翻译)

ganymedenil590

前言

PHP 7:真实世界的应用开发(中文翻译)

  • 作者:Doug Bierer, Altaf Hussain, Branko Ajzele
  • 原书名称:《PHP 7: Real World Application Development》
  • 译者:金弘扬([email protected]
  • Gitbook 地址:PHP 7:真实世界的应用开发
  • github:https://github.com/AnyStudy/PHP-7-Real-World-Application-Development

推荐使用 Gitbook 以获取最佳阅读体验。

译序

作为一个使用了 php 多年的程序员,公司项目也经历过 5 到 7 的升级,期间项目也出现过一些因为 php7 功能与 php5 不一致导致的 bug 。我一直在寻找一本能详细介绍 php 7 新特性与功能的书,后来找到了这本,虽然这本书发布到现在已经差不多 4 年了,但是对于想详细了解 php7 的朋友来说里面所讲述的内容我认为还是很有价值的。并且本书作者的一些观点我也非常认同,就想着希望能让更多人看到,趁着十一假期有时间想试着翻译一下本书。本书实际是三本独立的书,但如果单独看这三本都感觉缺点什么,把这三本书合并为一本我感觉就很相辅相成。本书的模块 2 也就是《高性能 php 7 》部分已经由吕毅老师翻译,本人就不再对本模块进行翻译。如果我的翻译能帮助到大家,也是我最大到荣幸。

前言

PHP 7 在开源社区掀起了一场风暴,它打破了之前版本的速度记录,也重新引起了人们对它的关注。从最根本的意义上讲,核心工程团队已经对它进行了重大重写,但仍能保持高度的向后兼容性。PHP 是一门开发 Web 应用的好语言。它本质上是一类服务器端脚本语言,也用于通用编程。PHP 7 是最新的版本,提供了主要的向后兼容性突破,并专注于提高性能和速度。这意味着你可以通过多线程网络服务器,用低成本的硬件和服务器维持网站的高流量。

这条学习之路都涵盖了什么

模块 1,PHP 7 编程指南,本模块以 PHP 7 为中心,展示了中高级的 PHP 技术。每个示例都是为了解决像您这样的 PHP 开发人员每天面临的实际问题。其中还介绍了只有在 PHP 7 中才有的,新的编写 PHP 代码的方法。此外,我们还讨论了向后兼容性中断的问题,并为您提供了大量指导,告诉您何时何地需要修改 PHP 5 代码,以便在 PHP 7 下运行时产生正确的结果。本模块还包含了最新的 PHP 7.x 特性。在本模块结束时,您将具备为您的网站和企业提供高效应用程序所需的工具和技能。

模块 2,学习 PHP 7 高性能,该模块是 PHP 7 的快速入门,这将提高您的生产力和编码技能。所涉及的概念将使您作为一个 PHP 程序员,提高你的应用程序的性能标准。我们将向您介绍 PHP 7 中的新特性,然后介绍 PHP 7 中面向对象编程( OOP )的概念。接下来,我们将阐明如何提高 PHP 7 应用程序的性能和数据库性能。通过这个模块,您将能够使用模块中讨论的各种基准测试工具来提高程序的性能。最后,模块讨论了 PHP 编程中的一些最佳实践,以帮助你提高代码的质量。

模块 3,用 PHP 7 更新旧版应用程序,此模块将向您展示如何通过提取和替换旧版组件,从实践和技术上而不是在使用框架和库之类的工具方面对应用程序进行升级。 我们将采用循序渐进的方法,有条不紊地缓慢前进,从根本上改善您的应用程序。我们将向您展示依赖注入是如何替换新的和全局依赖的。我们还将向您展示如何将表示逻辑改为视图文件,将动作逻辑改为控制器。此外,我们将使您的应用程序始终保持运行状态。在这个过程中,每一个完成的步骤都会让您的代码库以更高的质量完全正常运行。当我们完成后,您将能够像风一样轻而易举地通过您的代码。您的代码将是自动加载、依赖注入、单元测试、层级分离和前端控制。我们将添加到您的应用程序中的大多数非常有限的代码都是针对这个模块的。我们将以程序员的身份提高自己,并提高传统应用程序的质量。

你在这条学习之路上需要什么

模块 1

要成功地实现本模块中介绍的示例,你只需要一台计算机,100MB 的额外磁盘空间,和一个文本或代码编辑器(不是文字处理器!)。第一章将介绍如何设置 PHP 7 开发环境。拥有一个 Web 服务器是可选的,因为 PHP 7 包含一个开发 Web 服务器。不需 Internet 连接,但下载代码(如 PSR-7 接口集)和查看 PHP 7.x 文档可能会需要。

模块 2

任何符合运行以下软件最新版本的硬件规格,应该都足以通过本模块。

  • 操作系统:Debian 或 Ubuntu
  • 软件:NGINX 、PHP 7 、MySQL 、PerconaDB 、Redis 、Memcached 、Xdebug 、Apache JMeter 、ApacheBench 、Siege 和 Git

模块 3

您需要参考本模块的“第二章,先决条件“来了解本模块所需的基本硬件和软件要求。本章将详细描述这些要求。

这条路是为谁而设

如果您是一个有抱负的 Web 开发人员,移动应用开发人员或后端程序员,并且具有 PHP 编程的基本经验并希望开发对性能至关重要的应用程序,那么这个课程是为你准备的。它将使您的 PHP 编程技能更上一层楼。

支持

课程的代码包也托管在 github 上 https://GitHub.com/packtpublishing/php-7-be-pro-at-applications-development 。

法律申明

译者纯粹出于学习目的个人兴趣翻译本书,不追求任何经济利益。

译者保留对此版本译文的署名权,其他权利以原作者和出版社的主张为准。

本译文只供学习研究参考之用,不得公开传播发行或用于商业用途。有能力阅读英文书籍者请购买正版支持。

LICENSE

CC-BY 4.0

maigebaoer:php 在国内不行,翻译这还不如翻译 go 相关。我是个 phper,害

JB18CM:php 在国外也不行, 逐渐走向没落

johnsonshu:没落就没落吧。学一门新语言轻松多了

PHP 引用其他类问题请教

wmwmajie:很多个类文件引用了 同一个第三方的库,那么这里类文件相互之间又有引用,请问这个被引用的第三方库是只会被加载一次么? 没研究过源码请教。JaguarJack:是的 只会一次

PHP 混淆

ChenKevin:1.刚接触 PHP,现公司有个项目需要混淆代码,如果可以加密下(主要混淆就好)2.先主流用什么方式呢?知道的小伙伴推荐个下3.公司经费有限,最好免费的,谢谢大家哈

PHP 程序员,行情不好,上次说转行养殖也放弃了。不知道做什么好

hanghai:6 年 PHP,除了增删改查,其他都算不上正式。技术基本上就到这了,年龄也大了,学不进去了。 做点小东西还行,之前考虑独立开发,但是感觉自己水平不行。 前段时间考虑养殖和种植,上周去实地考察,计算了投入、风险、收入,发现养殖风险和收入不成正比,放弃了。 现在除了在公司上班混一点点工资,不知道啥时候就被清退了。 最近市场行情也不好,找工作难,尤…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友