首页>参考读物>计算机科学与技术>数码/设计

PHP 7从零基础到项目实战
作者 : 陈小龙 编著
出版日期 : 2018-10-18
ISBN : 978-7-111-61050-2
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 396
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书根据编者多年PHP开发经验精心编写。全书从基础到实践,循序渐进地介绍了PHP 7编程的核心知识与技术要点,主要内容包括:PHP语法基础、函数、数组、表单、对象、XML和JSON、Cookie和Session、异常处理、PHP类、正则表达式、常见的设计模式、PHP操作图像和文件、MVC架构思想、ThinkPHP框架、PHP操作Redis和MySQL数据库,还介绍了基于前端架构打造服务端、自己动手开发PHP框架、O2O网站和App后台开发以及大型网站技术架构等。
本书内容丰富,技术先进,适合PHP开发初学者、大学生和想了解PHP 7新功能的开发人员使用,也很适合作为培训班、企业内训或大专院校的教学用书。

图书特色

n

图书前言

  2015年6月发布了PHP 7 Alpha 1版本,同年12月3日发布了GA版本,PHP 7的发布对于PHP来说具有里程碑的意义。在性能上,PHP 7的执行效率是原来PHP 5的两倍左右。PHP 7的底层架构改变了存储各种变量的Zval和Zend_String结构体,优化了Zend_Array的HashTable等,这些底层架构的改进大幅度提升了PHP的执行效率。
  本书的目的是帮助读者快速学习和掌握PHP 7,从最基础的PHP开发环境的搭建开始,逐渐深入到PHP的相关特性和Redis及MySQL等的使用,特别是介绍了ThinkPHP、常见的设计模式、MVC设计思想等,最后还介绍了基本前端架构打造服务端、App后台开发、框架编程等较流行的开发案例,以帮助读者学以致用,真正开启PHP开发之旅。
本书结构
  本书共分24章,各章内容说明如下:
  第1章为走进PHP的世界,介绍PHP的运行机制和PHP 7的新特性,学习搭建PHP的开发环境,并编写第一个PHP程序。
  第2章介绍PHP的语言基础,包括PHP的数据类型、变量、常量和运算符的知识。
  第3章讲解PHP中的流程控制语句,介绍foreach语句在PHP 7和以往版本中的不同。
  第4章介绍函数的使用,包括函数参数的传递方式、可变函数和匿名函数等,与PHP 5不同的是,PHP 7中新增了支持参数类型的声明和函数返回值类型的声明。
  第5章详细介绍PHP中的字符串,并着重讲解编程中经常会用到的一些字符串处理函数。
  第6章讲解PHP数组有关的内容,和字符串一样,数组也是我们在编程中经常用到的。
  第7章讲解PHP中的时间与日期函数,包括如何设置和获取时间、如何计算两个日期的时间差等。
  第8章介绍表单。PHP作为一种动态语言,经常需要收集前端用户传过来的数据,然后与数据库交互,表单是用户填写数据、发起与数据库交互的第一步。
  第9章是类与对象,介绍什么是类及类的使用。学会使用类封装一些方法,具备面向对象编程的思想,是开发大型网站必不可少的基本功。
  第10章介绍正则表达式有关的内容。几乎所有的编程语言都支持正则表达式,本章讲解正则表达式的基本内容以及如何在PHP中使用正则表达式。
  第11章介绍PHP中的错误异常处理。PHP 7中增加了错误处理,增加了一个Error类。
  第12章介绍如何使用PHP处理图像,如获取图像信息、拷贝旋转图像、给图像加水印等。
  第13章是目录文件操作。PHP有着强大的目录文件操作函数,可以使用它们创建、修改、读取文件,还可以改变文件的属性等,另外还介绍了与文件上传有关的配置。
  第14章详细讲解Cookie和Session,介绍它们的基本概念和设置,通过实际的案例说明它们的工作原理和存储机制。
  第15章介绍MySQL数据库的使用。这一章介绍数据库的安装和MySQL的一些基本操作,以及如何使用PHP与MySQL交互。本章在编写的时候摒弃了PHP 5版本中与MySQL连接的MySQL扩展,转而重点介绍PHP如何使用MySQLi和PDO与数据库交互。
  第16章介绍Redis的使用,介绍Redis的5种数据类型,并讲解如何使用PHP操作Redis。
  第17章是PHP处理XML和JSON,介绍几种创建与读取XML的方式,以及PHP中json_encode()和json_decode()函数的使用。
  第18章介绍MVC思想和国内流行的ThinkPHP框架,本章介绍的是ThinkPHP的最新版本,和以往的版本有许多不同,读者在阅读时需注意。
  第19章介绍编程中几种常用的设计模式,包括工厂模式、单例模式、观察者模式和策略模式。
  第20章是基于前端架构打造服务端,介绍如何使用API接口与前端交互,传输消息的加解密,另外还介绍了前端开发中常用的模板MustacheJS和AngularJS。
  第21章从零开始讲述一个O2O网站的开发流程,从需求分析到数据库设计,再到最后的编码实现,以及如何应用支付模块等。
  第22章介绍当今比较流行的混合式App的开发框架,以及如何开发接口程序、如何定义路由等。
  第23章讲解如何自己动手实现一个PHP开发框架,介绍框架的开发思想和流程,以及框架的基本概念和基础结构。自己实现一个框架对于理解框架的运行原理有很好的促进作用。
  第24章讲述目前大型网站中常用的技术栈,通过这一章的学习,读者可以开阔眼界,对大型复杂的网站系统有更好的了解。
读者对象
  ? PHP初学者
  ? 想了解PHP 7新特性的读者
  ? 想进阶的PHP程序员
  ? 开设相关课程的大专院校学生
  ? 公司内部培训的学员
技术支持
  在编写本书的过程中,笔者一直努力为读者呈现完整的知识体系结构,但由于本人水平和开发经验有限,书中难免存在不足之处,还望广大读者指正。如果对书中的内容有建议或疑惑,可通过笔者的微信公众号、邮箱或书友群与笔者联系,笔者一定会尽量解答。
  微信公众号:chenxiaolong19941024
  邮箱:314312298@qq.com
  书友群:201463512
  本书配套的素材文件下载地址(注意区分数字和字母大小写)如下:
  https://github.com/chenxiaolong1994/php7book
  如果下载有问题,请发邮件到电子邮箱booksaga@126.com获得帮助,邮件标题为“PHP 7从零基础到项目实战下载资源”。
致谢
  首先,感谢PHP之父Rasmus Lerdorf,是他创建了这个优秀的编程语言,今天我们在互联网上浏览的网页有许多都是使用PHP编写的。同时希望越来越多的朋友加入到PHP的学习和开发中来,共同将这一优秀的编程语言发扬光大。
  其次,感谢王金柱编辑的大力支持,他在本书的编辑和出版过程中付出了很多心血,此书得以与读者见面,离不开他的辛勤工作。
  最后,还要感谢家人和朋友的支持,写作本书需要耗费许多时间,使得我不能经常陪伴家人和朋友。

  陈小龙
  2018年5月于北京

上架指导

计算机\网络

封底文字

曾供职360后端系统开发、现今日头条大数据工程师专业奉献
使用易于理解的代码示例详解PHP 7的使用和新特性
运用MySQL、Redis、ThinkPHP、常用设计模式及流行项目案例提高编程技能

本书作者
陈小龙,曾就职于360公司,从事PHP后端开发,目前在今日头条科技有限公司任大数据研发工程师,主要从事大数据技术领域的开发。出版著作:《微信公众平台开发实战与应用案例》。        

本书特色
本书从零开始介绍了PHP 7编程的方方面面,包括基础语法、编程技巧与项目案
例等。

书中不仅介绍了PHP编程的相关知识,还讲解了MySQL、Redis、ThinkPHP、常用
设计模式、MVC的编程思想等内容,丰富了本书的知识体系,有助于读者编写出更具实用价值的应用程序。

书中提供了5个流行的项目开发案例,包括基于前端打造服务端、O2O网站的开
发、混合式App后台开发、PHP框架的编写以及大型网站的架构设计,希望通过项
目演练帮助读者了解项目开发的流程、方法与技巧。

图书目录

  前言
第1章 走进PHP的世界 1
1.1 快速认识PHP 2
1.1.1 PHP语言的优势 2
1.1.2 PHP的运行机制和原理 3
1.1.3 PHP 7的新特性 4
1.2 搭建PHP开发环境 5
1.3 常用PHP代码编辑器 7
1.4 编写一个“Hello World”PHP程序 7
第2章 PHP语言基础 9
2.1 PHP的数据类型 9
2.1.1 字符串 9
2.1.2 整型 10
2.1.3 浮点型 11
2.1.4 布尔型 11
2.1.5 数组 11
2.1.6 对象 11
2.1.7 NULL值 12
2.2 运算符 12
2.2.1 算术运算符 12
2.2.2 递增递减运算符 13
2.2.3 比较运算符 14
2.2.4 逻辑运算符 15
2.2.5 三元运算符 15
2.2.6 字符串连接运算符 16
2.2.7 赋值运算符 16
2.2.8 位运算符 17
2.3 变量 18
2.3.1 变量的定义 18
2.3.2 变量的作用域 18
2.4 常量 20
2.4.1 常量的声明 20
2.4.2 预定义常量 21
第3章 流程控制语句 23
3.1 条件控制语句 23
3.1.1 if条件控制语句 23
3.1.2 switch分支语句 24
3.2 循环控制语句 26
3.2.1 while循环 26
3.2.2 do while循环 26
3.2.3 for循环 27
3.2.4 foreach循环 28
3.3 跳转语句 30
3.3.1 break语句 30
3.3.2 continue语句 30
3.3.3 goto语句 30
3.4 包含语句 31
3.4.1 include语句 31
3.4.2 include_once语句 33
3.4.3 require语句 33
3.4.4 require_once语句 34
第4章 函数 35
4.1 函数的使用 35
4.2 函数的参数 36
4.2.1 参数传递方式 36
4.2.2 参数类型声明 38
4.2.3 可变参数数量 39
4.3 函数返回值 40
4.4 可变函数 41
4.5 内置函数 42
4.6 匿名函数 42
4.7 递归与迭代 44
4.7.1 递归 44
4.7.2 迭代 45
第5章 字符串 46
5.1 单引号和双引号的区别 46
5.2 字符串连接符 47
5.3 字符串操作 47
5.3.1 改变字符串大小写 47
5.3.2 查找字符串 48
5.3.3 替换字符串 50
5.3.4 截取字符串 51
5.3.5 去除字符串首尾空格和特殊字符 51
5.3.6 计算字符串的长度 52
5.3.7 转义和还原字符串 53
5.3.8 重复一个字符串 53
5.3.9 随机打乱字符串 54
5.3.10 分割字符串 54
第6章 数组 56
6.1 使用数组 56
6.1.1 数组类型 56
6.1.2 创建数组 57
6.2 二维数组和多维数组 59
6.2.1 二维数组 59
6.2.2 多维数组 59
6.3 数组操作 60
6.3.1 检查数组中是否存在某个值 60
6.3.2 数组转换为字符串 61
6.3.3 计算数组中的单元数目 61
6.3.4 数组当前单元和数组指针 61
6.3.5 数组中的键名和值 62
6.3.6 填补数组 65
6.3.7 从数组中随机取出一个或多个单元 69
6.3.8 数组排序与打乱数组 69
6.3.9 遍历数组 72
6.3.10 数组的拆分与合并 76
6.3.11 增加/删除数组中的元素 78
6.3.12 其他常用数组函数 79
6.4 系统预定义数组 84
6.4.1 $_SERVER 84
6.4.2 $_GET 和 $_POST数组 86
6.4.3 $_FILES数组 87
6.4.4 $_SESSION和$_COOKIE数组 88
6.4.5 $_REQUEST[]数组 88
第7章 时间与日期 89
7.1 设置时区 89
7.1.1 在配置文件中设置 89
7.1.2 通过date_default_timezone_set函数在文件中设置 90
7.2 获取当前时间 90
7.3 常用时间处理方法 93
7.3.1 格式化时间显示 93
7.3.2 计算两个日期间的时间差 95
7.3.3 从字符串中解析日期时间 96
7.3.4 日期的加减运算 96
7.4 验证日期 97
第8章 表单 98
8.1 表单的种类 98
8.1.1 文本域及其类型 98
8.1.2 其他表单类型 102
8.2 get和post方法 103
8.2.1 获取表单值 104
8.2.2 处理上传文件 105
第9章 类与对象 107
9.1 什么是类 107
9.1.1 声明一个类 108
9.1.2 实例化一个类 108
9.1.3 访问类中成员 109
9.1.4 静态属性和静态方法 110
9.1.5 构造方法和析构方法 111
9.2 封装和继承特性 113
9.2.1 封装特性 113
9.2.2 继承特性 114
9.2.3 通过继承实现多态 115
9.3 魔术方法 116
9.3.1 __set()和__get()方法 116
9.3.2 __isset()和__unset()方法 117
9.3.3 __call()和__toString()方法 119
9.4 自动加载 120
9.4.1 __autoload() 方法 120
9.4.2 spl_autoload_register() 函数 121
9.5 抽象类和接口 122
9.5.1 抽象类 122
9.5.2 接口 123
9.6 类中的关键字 125
9.6.1 final关键字 125
9.6.2 clone关键字 126
9.6.3 instanceof关键字 127
9.6.4 “==”和“===” 128
第10章 正则表达式 129
10.1 正则表达式的用途 129
10.2 正则表达式的语法 130
10.2.1 正则表达式中的元素 130
10.2.2 替换和子表达式 134
10.2.3 反向引用 135
10.3 在PHP中使用正则表达式 135
10.3.1 匹配与查找 135
10.3.2 搜索与替换 139
10.3.3 分割与转义 141
第11章 错误异常处理 144
11.1 异常处理 144
11.1.1 异常类 144
11.1.2 创建自己的异常类 146
11.2 错误有关配置 147
11.2.1 错误级别配置 147
11.2.2 记录错误 148
11.2.3 自定义错误处理函数 149
11.3 PHP 7中的错误处理 151
第12章 图像处理 152
12.1 获取图像信息 152
12.1.1 getimagesize取得图像大小 152
12.1.2 getimagesizefromstring从字符串中获取图像尺寸信息 153
12.1.3 imagesx取得图像的宽度 154
12.1.4 imagesy取得图像的高度 154
12.2 图像绘制 155
12.2.1 创建画布 155
12.2.2 定义颜色 156
12.2.3 绘制图形 157
12.2.4 绘制文字 161
12.3 图片处理 163
12.3.1 复制图像 164
12.3.2 旋转图像 164
12.3.3 图像水印 165
12.4 图像验证码 166
第13章 目录文件操作 168
13.1 目录 168
13.1.1 判断文件类型 168
13.1.2 创建和删除目录 169
13.1.3 打开读取和关闭目录 170
13.1.4 获得路径中目录部分 172
13.1.5 目录磁盘空间 172
13.2 文件操作 173
13.2.1 打开文件 173
13.2.2 读取文件 174
13.2.3 获得文件属性 175
13.2.4 复制/删除/移动/重命名文件 178
13.3 文件指针 179
13.4 文件上传 181
13.4.1 上传文件配置 181
13.4.2 上传文件示例 182
第14章 Cookie与Session 184
14.1 详解Cookie 184
14.1.1 Cookie的基本概念和设置 184
14.1.2 Cookie的应用和存储机制 187
14.2 Session详解 188
14.2.1 Session的基本概念和设置 188
14.2.2 Session的工作原理和存储机制 189
14.2.3 使用Redis存储Session 190
第15章 MySQL数据库的使用 194
15.1 MySQL的安装 194
15.2 操作MySQL数据库 197
15.2.1 创建数据库 197
15.2.2 显示数据库 197
15.2.3 选择数据库 197
15.2.4 删除数据库 198
15.3 MySQL数据类型 198
15.3.1 数值类型 198
15.3.2 日期和时间类型 199
15.3.3 字符串类型 199
15.4 操作MySQL数据表 200
15.4.1 创建数据表 200
15.4.2 查看数据表结构 201
15.4.3 更改数据表结构 202
15.4.4 删除数据表 204
15.5 操作MySQL数据 205
15.5.1 插入数据 205
15.5.2 更新数据 205
15.5.3 删除数据 206
15.5.4 查询数据 206
15.6 MySQL图形化管理工具 210
15.7 PHP操作MySQL数据库 212
15.7.1 MySQLi连接操作数据库 212
15.7.2 PDO连接操作数据库 215
第16章 PHP与Redis数据库 219
16.1 关系型数据库与非关系型数据库 219
16.2 Redis的安装使用 220
16.3 Redis数据类型 223
16.3.1 string 223
16.3.2 list 227
16.3.3 hash 233
16.3.4 set 236
16.3.5 zset 241
16.4 Key操作命令 246
16.5 PHP操作Redis 249
16.5.1 安装php-redis扩展 249
16.5.2 在PHP中使用Redis 251
第17章 PHP处理XML和JSON 252
17.1 生成XML 252
17.1.1 由字符串或数组遍历生成XML 252
17.1.2 通过DOM生成XML 254
17.1.3 通过PHP SimpleXML生成XML 255
17.2 解析XML 256
17.2.1 通过DOM解析XML 256
17.2.2 通过PHP SimpleXML解析XML 258
17.3 JSON的使用 259
17.3.1 json_encode 259
17.3.2 json_decode 260
第18章 MVC与ThinkPHP框架 261
18.1 PHP MVC概述 261
18.2 常用的PHP框架 262
18.3 ThinkPHP的使用 263
18.3.1 开始开发 263
18.3.2 入口文件与路由 266
18.4 ThinkPHP控制器 267
18.4.1 创建控制器 267
18.4.2 跳转和重定向 269
18.5 使用数据库 270
18.5.1 连接数据库 270
18.5.2 查询构造器 272
18.5.3 增加/删除/更新数据 277
18.6 模型 279
18.6.1 模型定义 279
18.6.2 基本操作 281
18.7 模板 284
18.7.1 模板赋值与变量输出 285
18.7.2 使用函数和运算符 287
18.7.3 模板标签 288
第19章 PHP设计模式 292
19.1 什么是设计模式 292
19.2 工厂模式 294
19.3 单例模式 298
19.4 观察者模式 299
19.5 策略模式 301
第20章 基于前端架构打造服务端 303
20.1 构建一个API的世界 303
20.1.1 简述API接口 303
20.1.2 API接口签名验证 304
20.2 传输消息的加解密 305
20.2.1 单向散列加密 305
20.2.2 对称加密 305
20.2.3 非对称加密 311
20.3 使用Ajax进行交互 313
20.3.1 Ajax的介绍 313
20.3.2 Ajax的使用 316
20.4 前端模板和框架 318
20.4.1 MustacheJS介绍 318
20.4.2 AngularJS介绍 321
第21章 O2O小白财税网站开发 323
21.1 需求分析 323
21.2 网站概览 323
21.2.1 网站功能 323
21.2.2 网站预览 324
21.3 数据库设计 326
21.3.1 数据库建表 326
21.3.2 连接数据库 329
21.4 使用ThinkPHP搭建项目框架 330
21.4.1 应用目录 330
21.4.2 引入PHPMailer类库 331
21.4.3 引入Ping++支付模块 333
21.5 项目代码编写 335
21.5.1 注册登录 335
21.5.2 下单购买 342
21.5.3 用户中心 347
第22章 卡券管理系统App后台开发 353
22.1 PHP在App开发中的应用 353
22.2 App开发中的JSON数据 354
22.3 接口开发 355
22.3.1 定义路由与封装基类方法 355
22.3.2 实现接口功能代码 356
第23章 编写自己的PHP框架 361
23.1 框架设计 361
23.1.1 框架设计思想 361
23.1.2 框架执行流程 361
23.2 框架总体概览 362
23.3 框架初始化 364
23.3.1 入口文件定义 364
23.3.2 路由解析 365
23.4 应用配置 366
23.5 核心基础类 366
23.5.1 控制器基类 366
23.5.2 模型基类 368
23.6 公用函数库 372
23.7 使用框架 372
23.7.1 创建表和模型 372
23.7.2 创建控制器和视图 373
第24章 大型网站架构设计 376
24.1 大型网站架构概述 376
24.1.1 大型网站的特点 376
24.1.2 大型网站的设计要素 377
24.2 负载均衡 378
24.2.1 负载均衡技术 378
24.2.2 负载均衡算法 379
24.3 数据库的使用 380
24.3.1 数据切分 380
24.3.2 数据库中间件 381
24.4 消息队列 382
24.4.1 消息队列的应用场景 383
24.4.2 消息队列的基本概念 383
24.4.3 常用消息队列 384
24.5 网站监控 385
24.5.1 数据收集 385
24.5.2 异常监控与报警 385

教学资源推荐
作者: 朱洁
作者: [英]海伦·夏普(Helen Sharp) [美]詹妮弗·普瑞斯(Jennifer Preece) [英]伊温妮·罗杰斯(Yvonne Rogers) 著
作者: [加] 励泽年(Ze-Nian Li) 马克·S.德鲁(Mark S. Drew) 刘江川(Jiangchuan Liu)著
作者: (英)Slater, M. 等
参考读物推荐