PHP 7:真实世界的应用开发(中文翻译)
前言
PHP 7:真实世界的应用开发(中文翻译)
- 作者:Doug Bierer, Altaf Hussain, Branko Ajzele
- 原书名称:《PHP 7: Real World Application Development》
- 译者:金弘扬(ganymedenil@gmail.com)
- 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
PHP 7:真实世界的应用开发(中文翻译)的更多相关文章
- What is probabilistic programming? | 中文翻译
What is probabilistic programming? | 中文翻译 Probabilistic languages can free developers from the compl ...
- 《Entity Framework 6 Recipes》中文翻译系列 目录篇 -持续更新
为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...
- 苹果App Store审核指南中文翻译(2014.9.1更新)
转:http://www.cocoachina.com/appstore/20140901/9500.html CocoaChina对<苹果应用商店审核指南>中文翻译最近一次更新时间为20 ...
- 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务
http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...
- Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)
# 禅与 Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译) - 原文 <https://githu ...
- 【转】苹果App Store审核指南中文翻译(更新)
(注:<苹果应用商店审核指南>中文翻译最近一次更新为2013-03-04,文中红色部分是相对于2013-03-04版本的新增内容,绿色部分代表更改的内容,蓝色表示苹果相关官方文档的链接.) ...
- Next.js v4.1.4 文档中文翻译【转载】
最近想稍稍看下 React的 SSR框架 Next.js,因为不想看二手资料, 所以自己跑到 Github上看,Next.js的文档是英文的,看倒是大概也能看得懂, 但有些地方不太确定,而且英文看着毕 ...
- 《Entity Framework 6 Recipes》中文翻译 ---- 系列教程
为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...
- python wsgi PEP333 中文翻译
PEP 333 中文翻译 首先说明一下,本人不是专门翻译的,英文水平也不敢拿来献丑.只是这是两年前用python的时候为了自己学习方便而翻译的,记录着笔记自己看看而已.最近翻出来看看觉得还是放出来吧. ...
随机推荐
- Redis高可用——副本机制
目录 概念 配置 同步方式 起点 主从握手 部分同步 完全同步 执行完全同步判断条件 完全同步代码实现 为实现Redis服务的高可用,Redis官方为我们提供了副本机制(或称主从复制)和哨兵机制.副本 ...
- 关于提高服务器的带宽策略bonding
一:bonding的概念 所谓bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现网卡的带宽扩容.高可用或者负载均衡. 二:bonding的优势 1 网络负载均衡 2 提高带宽网络传输效 ...
- Vue.js 实战教程(附demo)
在实战之前,你需要对vuejs的基础语法有一定的了解,可以通过以下几个途径进行学习: vue.js官方文档:https://cn.vuejs.org/v2/guide/index.html vue.j ...
- 记一次Layui分页
<link rel="stylesheet" href="/layui/css/layui.css"> <div class="ro ...
- 初学WebGL引擎-BabylonJS:第8篇-阴影网格与活动
[playground]-shadows(阴影) 源码 var createScene = function () { var scene = new BABYLON.Scene(engine); / ...
- 【HttpRunner v3.x】笔记—7. 测试用例-teststeps-RunTestCase
以前我在写接口自动化用例的时候,为了保证用例的独立性,需要在setUp里调用各种满足用例的一些前置条件,其中就不乏调用了其他测试用例中的方法. 而httprunner也是支持了这一项很重要的特性,通过 ...
- [BUUOJ记录] [HCTF 2018]WarmUp
BUUOJ Web的第一题,其实是很有质量的一道题,但是不知道为什么成了Solved最多的题目,也被师傅们笑称是“劝退题”,这道题的原型应该是来自于phpMyadmin的一个文件包含漏洞(CVE-20 ...
- Solon详解(六)- Solon的校验扩展框架使用与扩展
Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...
- Native Comments
local variables referenced from a Lambda expression must be final or effectively final. Lambda表达式中引用 ...
- leetcode刷题-74搜索二维矩阵
题目 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列.每行的第一个整数大于前一行的最后一个整数.示例 1: 输入:matrix ...