PHP和MySQL Web开发(原书第5版)

PHP和MySQL Web开发(原书第5版) pdf epub mobi txt 电子书 下载 2025

[美] 卢克·韦林(Luke Welling),劳拉·汤姆森(Laura Thomson) 著,熊慧珍,武欣,罗云峰 等 译
图书标签:
  • PHP
  • MySQL
  • Web开发
  • 数据库
  • 服务器端
  • 编程
  • Web应用
  • 技术
  • 开发
  • 教程
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111587736
版次:1
商品编码:12293611
品牌:机工出版
包装:平装
开本:16开
出版时间:2018-02-01
用纸:胶版纸
页数:632

具体描述

产品特色

编辑推荐

  

《PHP和MySQL Web开发(原书第5版)》,是PHP和MySQL Web应用开发方面的“圣经”。书中内容丰富完备,用例简单实用。既包括PHP语言的基础知识和编程技巧,又包括MySQL数据库的使用基础和实战沉淀。除此之外,书中还涵盖国际化本地化以及安全性话题。对于开发安全的、适用于全球用户的Web应用来说,是一本不可多得的宝典。另外值得一提的是,英文版原书中后4章的实例是在线内容,我们已经将这些内容涵盖在中文版纸质书中,方便读者参考。


  

升级内容

与本书第4版相比,第5版进行了全面更新、重写和扩展,详尽介绍了PHP 5.6到7的版本更新和新特性,以及MySQL*新版本的新特性。


  

内容简介

  

全书共分五篇,31章。第一篇(第1~7章)涵盖PHP语言的基础知识,包括PHP快速入门、数据存储和读取、数组、字符串操作与正则表达式、代码重用与函数编写、面向对象特性以及错误和异常处理。第二篇(第8~13章)涵盖MySQL的基础知识,包括Web数据库设计、创建和使用,以及使用PHP从Web访问MySQL数据库、MySQL高级管理和高级编程。第三篇(第14~16章)讲解Web应用的安全性,分析了Web应用的安全风险、如何构建安全的Web应用,以及使用PHP实现身份认证的方法。第四篇(第17~24章)讲解PHP的高级编程技术,包括与文件系统和服务器的交互、使用网络和协议函数、管理日期和时间、国际化与本地化、图像生成、使用PHP会话控制、JavaScript与PHP集成,以及PHP的其他有用特性。第五篇(第25~31章)的重点是实战,该篇从在大型项目中使用PHP和MySQL开始,针对当前*新Web应用开发潮流,介绍了几个重要的Web产品实现细节,这些项目包括:用户身份认证和个性化、基于Web的电子邮件客户端、社交媒体集成和购物车。


  

作者简介

Luke Welling是OmniTI公司的软件工程师,经常在OSCON、ZendCon、MySQLUC、PHPCon、OSDC和LinuxTag等国际会议上就开源和Web开发主题发表演讲。在加入OmniTI公司之前,他曾作为数据库提供商的Web分析师为Hitwise.com公司工作。此外,他还是Tangled Web Design公司的独立顾问,并曾在澳大利亚墨尔本RMIT大学教授计算机科学课程。

Laura Thomson是Mozilla公司的研发总监,也是OmniTI公司和Tangled Web Design公司的董事。此外,Laura曾在RMIT大学和波士顿咨询公司工作过。


精彩书评

  

“我从来没有购买过如此棒的编程书籍……本书信息量大、容易掌握,文字浅显易懂,而且与我曾经购买过的其他计算机图书相比,它给出了示例和实践建议。”

—Nick Landman


  

“Welling和Thomson撰写的这本书是我发现的唯*不可或缺的图书。文字清晰直观,从来不会浪费我的时间。本书结构合理,章节篇幅适当而且主题清晰。”

—Wright Sullivan,A&E;工程公司董事长,南卡罗来纳-格里尔


  

“我只想告诉你,这本书真的太棒了!它逻辑清晰,难度适中,有趣易懂,当然,全是有用的信息!”

—CodE-E,奥地利


  

“关于PHP,有几本非常不错的入门级图书,但是Welling和Thomson所撰写的这本书对那些希望创建复杂而又可靠系统的人来说,是非常优秀的手册。很明显,作者在开发专业应用程序方面经验丰富,他们不仅教授了语言本身,还介绍了如何通过良好的软件工程实践来使用它。”

—Javier Garcia,Telefonica研发实验室高级电信工程师,马德里


  

“两天前我开始阅读本书,现在读了一半。我对它爱不释手。本书布局和结构严谨,读者可以很快掌握所有概念,示例也具有很强的实用性,是一本不容错过的好书。”

—Jason B. Lancaster


  

“本书内容很值得信赖,它给出了PHP的快速入门教程,并且全面地介绍了如何使用MySQL来开发Web应用程序。书中还给出了一些完整的示例程序,对于使用PHP创建模块化、可伸缩的应用程序来说,这些示例是非常不错的选择。无论你是PHP新手,还是正在寻找参考书的经验丰富的开发人员,这本书都是你的明智选择。”

—Web Dynamic


  

“Welling和Thomson撰写的这本书的确是学习PHP和MySQL开发的经典著作。它使我意识到编程和数据库对任何人来说都是可以掌握的;而我只了解本书所介绍内容的极少部分,我完全被它迷住了。”

—Tim Luoma TnTLuoma.com


  

“Welling和Thomson撰写的这本书对于那些希望投入实战项目的人来说,是一本不错的参考用书。它包括了基于Web的电子邮件客户端、购物车、社交媒体集成等,从PHP的基础知识开始介绍,然后介绍MySQL的相关知识。”

—twilight30 on Slashdot


  

“这本书太精彩了……Welling和Thomson撰写的这本书中有我见到过的对正则表达式、类和对象以及会话等*好的介绍。我感觉本书让我理解了一些我原来不太理解的内容……本书深入地介绍了PHP函数和特性,此外还从项目经理的角度介绍了现实项目、MySQL集成以及安全性问题。我发现本书各个方面组织得非常合理,容易理解。”

—codewalkers.com站点的评论


  

“PHP和MySQL开发人员*棒的参考书,强烈推荐。”

—《The Internet Writing Journal》


  

“这本书太精彩了!我是一个经验丰富的编程人员,因此我并不需要太多的PHP语法介绍;毕竟它非常类似于C/C++。我不了解关于数据库的内容,但是当我准备(在其他项目中)开发一个图书评论引擎时,我希望找到一本关于使用PHP和MySQL的参考书。我有O扲eilly出版的《mSQL and MySQL》一书,该书可能是关于纯SQL的不错参考,但是本书在我的参考书中绝对占有一席之地……强烈推荐。”

—Paul Robichaux


  

“我读过的*棒的编程指南图书之一。”

—jackofsometrades,芬兰拉赫蒂


  

“这是一本非常不错的书,对于学习如何使用这两个*流行的开源Web开发技术创建Internet应用来说是非常优秀的……书中介绍的项目是本书的闪光点。不但是因为项目介绍和组织的逻辑结构合理,而且项目的选择也涵盖了许多Web站点常用的组件。”

—Craig Cecil


  

“本书采用了一种简单的、按部就班的方式向程序员介绍PHP语言。因此,我经常发现自己在进行Web设计时需要参考本书。我还在学习关于PHP的新知识,但是这本书给我提供了一个学习的基础,一直以来给了我很多帮助。”

—Stephen Ward


  

“本书是少数使我感动并“爱”上的图书之一。我不能将它放到我的书架中;我必须将它放在一个我伸手可及的地方,这样我就可以经常翻翻它。本书的结构合理,措辞简单而且直观。在阅读本书以前,我对PHP和MySQL一无所知。但是在阅读本书后,我就对开发复杂的Web应用充满了信心,而且掌握了足够的技术。”

—Power Wong


  

“这本书太棒了……我向任何数据库驱动的Web应用程序员强烈推荐此书。我希望更多的计算机图书能够按这样的方式进行编写。”

—Sean C Schertell


  

目录

本书赞誉

译者序

前言

作者简介

第一篇 使用PHP

第1章 PHP快速入门教程2

1.1 开始之前:了解PHP3

1.2 创建示例Web应用:Bob汽车零部件商店3

1.2.1 创建订单表单3

1.2.2 表单处理 5

1.3 在HTML中嵌入PHP5

1.3.1 PHP标记6

1.3.2 PHP语句7

1.3.3 空格7

1.3.4 注释 8

1.4 添加动态内容8

1.4.1 调用函数9

1.4.2 使用date()函数 9

1.5 访问表单变量10

1.5.1 表单变量 10

1.5.2 字符串连接12

1.5.3 变量和字面量12

1.6 理解标识符 13

1.7 检查变量类型 14

1.7.1 PHP的数据类型 14

1.7.2 类型强度 14

1.7.3 类型转换 15

1.7.4 可变变量 15

1.8 声明和使用常量 16

1.9 理解变量作用域 16

1.10 使用操作符 17

1.10.1 算术操作符 18

1.10.2 字符串操作符18

1.10.3 赋值操作符 19

1.10.4 比较操作符 21

1.10.5 逻辑操作符 22

1.10.6 位操作符 22

1.10.7 其他操作符 23

1.11 计算表单总金额 25

1.12 理解操作符优先级和结合性 26

1.13 使用变量处理函数27

1.13.1 测试和设置变量类型 27

1.13.2 测试变量状态 28

1.13.3 变量的重解释 29

1.14 根据条件进行决策 29

1.14.1 if语句 29

1.14.2 代码块 30

1.14.3 else语句 30

1.14.4 elseif语句 31

1.14.5 switch语句 32

1.14.6 比较不同条件 33

1.15 通过迭代实现重复动作 34

1.15.1 while循环 35

1.15.2 for循环和foreach循环 36

1.15.3 do...while循环 37

1.16 从控制结构或脚本中跳出 38

1.17 使用其他控制结构语法 38

1.18 使用declare 39

1.19 下一章 39

第2章 数据存储和读取40

2.1 保存数据以便后期使用 40

2.2 存储和获取Bob的订单 41

2.3 文件处理 41

2.4 打开文件 42

2.4.1 选择文件模式 42

2.4.2 使用fopen()打开文件 42

2.4.3 通过FTP或HTTP打开文件 44

2.4.4 解决打开文件时可能遇到的问题 45

2.5 写文件 47

2.5.1 fwrite()的参数 47

2.5.2 文件格式 47

2.6 关闭文件 48

2.7 读文件 50

2.7.1 以只读模式打开文件:fopen()51

2.7.2 知道何时读完文件:feof()51

2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 52

2.7.4 读取整个文件:readfile()、fpassthru()、file()以及file_get_contents()53

2.7.5 读取一个字符:fgetc() 53

2.7.6 读取任意长度:fread()54

2.8 使用其他文件函数 54

2.8.1 查看文件是否存在:file_exists() 54

2.8.2 确定文件大小:filesize() 55

2.8.3 删除一个文件:unlink()55

2.8.4 在文件中定位:rewind()、fseek()和ftell() 55

2.9 文件锁定 56

2.10 更好的方式:数据库管理系统 57

2.10.1 使用普通文件的几个问题 58

2.10.2 RDBMS是如何解决这些问题的 58

2.11 进一步学习 59

2.12 下一章 59

第3章 使用数组60

3.1 什么是数组 60

3.2 数字索引数组 61

3.2.1 数字索引数组的初始化 61

3.2.2 访问数组内容 62

3.2.3 使用循环访问数组 63

3.3 使用不同索引的数组 64

3.3.1 初始化数组 64

3.3.2 访问数组元素 64

3.3.3 使用循环语句 64

3.4 数组操作符 66

3.5 多维数组 66

3.6 数组排序 69

3.6.1 使用sort()函数 69

3.6.2 使用asort()函数和ksort()函数对数组排序 70

3.6.3 反向排序 70

3.7 多维数组排序 70

3.7.1 使用array_multisort()函数71

3.7.2 用户定义排序 71

3.7.3 自定义排序函数的反序 73

3.8 对数组进行重新排序 73

3.8.1 使用shuffle()函数 73

3.8.2 逆序数组内容75

3.9 从文件载入数组 75

3.10 执行其他数组操作 79

3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev()79

3.10.2 对数组每一个元素应用函数:array_walk() 80

3.10.3 统计数组元素个数:count()、sizeof()和array_count_values() 81

3.10.4 将数组转换成标量变量:extract() 81

3.11 进一步学习 83

3.12 下一章 83

第4章 字符串操作与正则表达式84

4.1 创建一个示例应用:智能表单邮件 84

4.2 字符串的格式化86

4.2.1 字符串截断:chop()、ltrim()和trim() 87

4.2.2 格式化字符串以便输出 87

4.3 使用字符串函数连接和分割字符串93

4.3.1 使用函数explode()、implode()和join() 93

4.3.2 使用strtok()函数 94

4.3.3 使用substr()函数 95

4.4 字符串比较 96

4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 96

4.4.2 使用strlen()函数判断字符串长度 96

4.5 使用字符串函数匹配和替换子字符串 97

4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr() 97

4.5.2 查找子字符串的位置:strpos()和strrpos() 98

4.5.3 替换子字符串:str_replace()和substr_replace() 99

4.6 正则表达式的介绍 100

4.6.1 基础知识 100

4.6.2 分隔符101

4.6.3 字符类和类型 101

4.6.4 重复 102

4.6.5 子表达式 102

4.6.6 子表达式计数 103

4.6.7 定位到字符串的开始或末尾 103

4.6.8 分支103

4.6.9 匹配特殊字符 103

4.6.10 元字符一览 104

4.6.11 转义序列104

4.6.12 回溯引用105

4.6.13 断言105

4.6.14 在智能表单中应用 106

4.7 用正则表达式查找子字符串 107

4.8 用正则表达式替换子字符串 107

4.9 使用正则表达式分割字符串 108

4.10 进一步学习 109

4.11 下一章 109

第5章 代码重用与函数编写110

5.1 代码重用的好处 110

5.1.1 成本111

5.1.2 可靠性 111

5.1.3 一致性 111

5.2 使用require()和include()函数 111

5.2.1 使用require()函数引入代码112

5.2.2 使用require()制作Web站点模板113

5.2.3 使用auto_prepend_file和 auto_append_file 118

5.3 使用PHP函数 119

5.3.1 调用函数 119

5.3.2 调用未定义函数 120

5.3.3 理解大小写和函数名称121

5.4 自定义函数121

5.5 了解函数基本结构 122

5.6 参数使用 123

5.7 理解作用域126

5.8 引用传递和值传递128

5.9 使用return关键字 129

5.10 递归实现 131

5.11 进一步学习 134

5.12 下一章 134

第6章 面向对象特性135

6.1 理解面向对象概念 135

6.2 在PHP中创建类、属性和操作 138

6.3 类的实例化139

6.4 使用类属性 140

6.5 调用类操作141

6.6 使用private和public关键字控制访问 141

6.7 编写访问器函数142

6.8 在PHP中实现继承 143

6.9 使用Trait149

6.10 类设计 151

6.11 编写自定义类代码 151

6.12 理解PHP面向对象高级功能 158

6.13 下一章 170

第7章 错误和异常处理 171

7.1 异常处理的概念 171

7.2 Exception类173

7.3 用户自定义异常 174

7.4 Bob汽车零部件商店应用的异常 176

7.5 异常和PHP的其他错误处理机制 179

7.6 进一步学习 180

7.7 下一章 180

第二篇 使用MySQL

第8章 Web数据库设计182

8.1 关系型数据库的概念 183

8.2 设计Web数据库185

8.3 Web数据库架构190

8.4 进一步学习191

8.5 下一章191

第9章 Web数据库创建192

9.1 使用MySQL监视程序193

9.2 登录MySQL194

9.3 创建数据库和用户195

9.4 设置用户与权限195

9.5 MySQL权限系统介绍196

9.6 设置Web用户201

9.7 使用正确的数据库202

9.8 创建数据库表202

9.9 理解MySQL标识符208

9.10 选择列数据类型209

9.11 进一步学习213

9.12 下一章213

第10章 使用MySQL数据库214

10.1 什么是SQL214

10.2 在数据库中插入数据215

10.3 从数据库读取数据217

10.4 更新数据库记录229

10.5 创建后修改表230

10.6 删除数据库记录232

10.7 删除表233

10.8 删除数据库233

10.9 进一步学习233

10.10 下一章233

第11章 使用PHP从Web访问MySQL数据库234

11.1 Web数据库架构及工作原理234

11.2 从Web查询数据库238

11.3 向数据库写入数据243

11.4 使用其他PHP与数据库交互接口247

11.5 进一步学习250

11.6 下一章250

第12章 MySQL高级管理251

12.1 深入理解权限系统251

12.2 提升MySQL数据库安全257

12.3 获取数据库的更多信息259

12.4 优化数据库265

12.5 MySQL数据库备份266

12.6 MySQL数据库恢复267

12.7 实现复制267

12.8 进一步学习269

12.9 下一章269

第13章 MySQL高级编程270

13.1 LOAD DATA INFILE语句270

13.2 存储引擎271

13.3 事务272

13.4 外键273

13.5 存储过程274

13.6 触发器281

13.7 进一步学习283

13.8 下一章283

第三篇 Web应用安全性

第14章 Web应用安全风险286

14.1 识别面临的安全威胁286

14.2 了解对手292

14.3 下一章293

第15章 构建安全的Web应用294

15.1 安全策略294

15.2 代码安全296

15.3 Web服务器和PHP的安全306

15.4 数据库服务器的安全308

15.5 保护网络310

15.6 计算机和操作系统的安全312

15.7 灾难计划313

15.8 下一章313

第16章 使用PHP实现身份验证方法314

16.1 识别访问者314

16.2 实现访问控制315

16.3 使用基本认证320

16.4 在PHP中使用基本认证320

16.5 使用Apache的.htaccess基本认证321

16.6 创建自定义认证324

16.7 进一步学习325

16.8 下一章325

第四篇 PHP高级编程技术

第17章 与文件系统和服务器交互328

17.1 上传文件328

17.2 使用目录函数336

17.3 与文件系统交互341

17.4 使用程序执行函数344

17.5 与环境交互:getenv()和putenv()347

17.6 进一步学习347

17.7 下一章347

第18章 使用网络和协议函数348

18.1 了解可用协议348

18.2 发送和读取邮件349

18.3 使用其他站点数据349

18.4 使用网络查询函数352

18.5 备份或镜像文件355

18.6 进一步学习363

18.7 下一章363

第19章 管理日期和时间364

19.1 在PHP中获得日期和时间364

19.2 PHP和MySQL的日期格式互转371

19.3 在PHP中计算日期372

19.4 在MySQL中计算日期373

19.5 使用微秒374

19.6 使用日历函数375

19.7 进一步学习375

19.8 下一章376

第20章 国际化与本地化377

20.1 本地化不只是翻译377

20.2 理解字符集378

20.3 创建可本地化页面基础结构380

20.4 在国际化应用中使用gettext()函数383

20.5 进一步学习386

20.6 下一章386

第21章 生成图像387

21.1 设置PHP图像支持387

21.2 理解图像格式388

21.3 创建图像389

21.4 在其他页面中使用自动创建的图像393

21.5 使用文本和字体创建图像394

21.6 绘制图形图像数据401

21.7 使用其他图像函数409

21.8 下一章409

第22章 使用PHP会话控制410

22.1 什么是会话控制410

22.2 理解基本会话功能410

22.3 实现简单会话412

22.4 创建简单会话示例414

22.5 配置会话控制416

22.6 使用会话控制实现身份验证417

22.7 下一章423

第23章 JavaScript与PHP集成424

23.1理解AJAX424

23.2 jQuery概述425

23.3 在Web应用中使用jQuery425

23.4 在PHP中使用jQuery和AJAX434

23.5 进一步学习445

23.6 下一章445

第24章 PHP的其他有用特性446

24.1 字符串计算函数:eval()446

24.2 终止执行:die()和exit()447

24.3 序列化变量和对象448

24.4 获取PHP环境信息448

24.5 临时修改运行时环境450

24.6 高亮源代码451

24.7 在命令行上使用PHP452

24.8 下一章453

第五篇 构建实用的PHP和MySQL项目

第25章 在大型项目中使用PHP和MySQL456

25.1 在Web开发中应用软件工程技术457

25.2 规划和运营Web应用项目457

25.3 代码重用458

25.4 编写可维护代码458

25.5 实现版本控制462

25.6 选择开发环境463

25.7 项目文档化463

25.8 原型定义464

25.9 隔离逻辑和内容464

25.10 代码优化465

25.11 测试466

25.12 进一步学习466

25.13 下一章467

第26章 调试和日志468

26.1 编程错误468

26.1.1 语法错误468

26.1.2 运行时错误469

26.1.3 逻辑错误474

26.2 变量调试辅助475

26.3 错误报告级别477

26.4 修改错误报告设置478

26.5 触发自定义错误479

26.6 错误日志记录480

26.7 错误日志文件482

26.8 下一章483

第27章 构建用户身份验证和个性化484

27.1 解决方案组件484

27.2 解决方案概述486

27.3 实现数据库487

27.4 实现基本网站488

27.5 实现用户身份验证491

27.6 实现书签存储和读取507

27.7 实现书签推荐513

27.8 考虑可能的扩展516

第28章 使用Laravel构建基于Web的电子邮件客户端(第一部分)517

28.1 Laravel 5介绍517

第29章 使用Laravel构建基于Web的电子邮件客户端(第二部分) 536

29.1 使用Laravel构建简单的IMAP客户端536

29.2 创建基于Web的电子邮件客户端561

29.3 小结581

第30章 社交媒体集成分享以及验证582

30.1 OAuth:Web服务认证582

30.2 小结594

第31章 构建购物车595

31.1 解决方案组件595

31.2 解决方案概述597

31.3 实现数据库599

31.4 实现在线类目601

31.4.3 显示图书详情607

31.5 实现购物车608

31.6 实现支付622

31.7 实现管理界面624

31.8 扩展项目631

附录A 安装Apache、PHP和MySQL632


前言/序言

译者序 The Translator's Words

PHP和MySQL依旧是如今比较流行的开源技术之一,非常适用于Web应用的开发。

PHP是一种服务器端脚本语言,可以用于生成动态内容。它功能强大,与HTML脚本融合在一起,并内置有访问数据库的功能。

MySQL是基于SQL的、完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强大、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用多种语言编写访问MySQL 数据库的程序。

本书内容丰富完备,示例简单实用。书中既包括了PHP语言的基础知识,又包括了MySQL数据库的使用基础;既提供了PHP基础编程技巧,又介绍了PHP与MySQL的实战沉淀。除此之外,书中还涵盖了国际化、本地化以及安全性话题。对于开发安全的、适用于全球用户的Web应用来说,本书的确是一本不可多得的宝典。

本书第一篇和第二篇依旧分别是PHP和MySQL的入门介绍,第三篇探讨了Web应用安全问题,第四篇介绍PHP的高级编程技术,第五篇重点在实战。针对当前最新Web应用开发潮流,介绍了几个重要的Web产品实现细节,包括设计、计划、实施以及测试环节。这些实用项目包括:

用户身份验证和个性化

基于Web的电子邮件客户端

社交媒体集成

购物车

第5版在第4版的基础上进行了全面更新、重写和扩展,详尽介绍了PHP 5.6到7的版本更新和新特性,此外还介绍了MySQL最新版本的新特性。

综观全书,内容广泛,风格严谨,理论和实践紧密结合。既有详细的概念说明,又有复杂而完整的实例代码,读者能够轻松地将自己所学的理论知识付诸实践。正是出于这个原因,本书适用的读者非常广泛。对于初学者来说,本书可以作为教材和参考书;对于有丰富经验的PHP和MySQL高手,本书也是一本很好的参考手册,因此本书适用于各个层次的PHP程序员。另外,第5版的中文版也对第4版的一些翻译错误进行了更正。

参加本书翻译工作的有:熊慧珍、武欣、于广乐、陶立秋、于苗苗、罗剑锋、姜燕梅、罗云峰,最后由武欣统稿。

由于译者水平所限,不当和错误之处在所难免,敬请各位专家和读者批评指正。


译 者

2017年10月


About the Authors 作者简介

Luke Welling是OmniTI公司的一名软件工程师,经常出席一些国际会议(例如,OSCON、ZendCon、MySQLUC、PHPCon、OSDC以及LinuxTag)并就开源和Web开发话题发表演讲。在加入OmniTI公司之前,他曾作为数据库提供商MySQL AB的Web分析师为Hitwise.com公司工作。此外,他还是Tangled Web Design公司的独立顾问,并曾在澳大利亚墨尔本RMIT大学教授计算机科学课程。他拥有应用科学(计算机科学)的学士学位。

Laura Thomson是Mozilla公司的研发总监。之前,她是OmniTI公司和Tangled Web Design公司的董事。此外,Laura曾经在RMIT大学和波士顿咨询公司工作过。她拥有应用科学(计算机科学)学士学位和工程学(计算机系统工程)学士学位。闲暇时间,她非常喜欢骑马,热衷于免费软件和开源软件。

贡献作者

Julie C. Meloni是一名软件开发经理以及技术顾问,生活在华盛顿特区。她编著过一些图书,发表过一些文章,主要集中在基于Web的开发语言和数据库领域,其中包括畅销书《Sams Teach Yourself PHP,MySQL, and Apache All in One》。

John Coggeshall是Internet Technology Solutions公司的创始人,该公司是Internet和PHP相关的顾问公司,服务于全球用户。同时,他还是CoogleNet公司的创始人,该公司是基于WiFi网络的订阅服务公司。作为Zend Technologies公司全球服务团队的资深成员,他从1997年开始使用PHP,目前已经出版了4本相关图书并发表了超过100篇关于PHP技术的文章。

Jennifer Kyrnin是一名Web设计人员,自1995年开始从事Web设计和图书编写。她出版的图书包括《Sams Teach Yourself Bootstrap in 24 Hours》《Sams Teach Yourself Responsive Web Design in 24 Hours》以及《Sams Teach Yourself HTML5 Mobile Application Development in 24 Hours》。



前  言 Preface

欢迎来到PHP和MySQL Web开发的世界。在本书中,我们将把使用PHP与MySQL的经验和心得体会毫无保留地分享给你,PHP和MySQL是目前最热门的两个Web开发工具。

前言主要介绍以下内容:

为什么要学习本书

学习本书将掌握哪些知识

PHP和MySQL及其强大之处

PHP和MySQL最新版本变化

本书组织结构

下面,就让我们开始吧!

为什么要学习本书

本书将介绍如何创建可交互的Web应用,包括从最简单的订单表单到复杂而又安全的Web应用。此外,读者还将了解如何使用开源代码技术来实现它。

本书的目标读者群是已经了解了HTML的基础知识,并且以前曾经使用过一些现代编程语言进行过程序开发的读者,但是并不要求读者从事过Web编程或者使用过关系型数据库。如果你是入门级程序员,你也将发现本书是非常实用的,但是你可能会需要更长的时间来吸收和消化它。我们尽量做到不遗漏任何基本概念,但是在介绍这些基本概念的时候都比较简略。本书的典型读者是希望掌握PHP和MySQL并致力于创建大型或电子商务类型Web站点的人。有些读者可能已经使用过其他Web开发语言;如果是这样,就更容易掌握本书的内容。

编写本书第1版的原因在于,我们已经厌倦了寻找那些充其量只是最基本的PHP函数参考的图书。那些图书是有用的,但是当老板或客户要求你赶快编写一个购物车时,那些图书无法帮助你。我们尽量使本书中的每一个示例都有实用价值。许多示例代码可以在Web站点上直接使用,而大多数代码只要稍做修改就可以直接使用。

学习本书将掌握哪些知识

学习本书后,读者将能够创建实用的动态Web站点。如果你已经使用过普通HTML创建Web站点,你将认识到这种方法的局限性。一个纯HTML网站的静态内容就只能是静态的。除非专门对其进行手动更新,否则其内容不会发生变化。用户也无法以任何有意义的方式与站点进行交互。

使用一种编程语言(例如,PHP)和数据库(例如,MySQL),可以创建动态的站点,也可以自定义站点并且在站点中包含实时信息。

在本书中,即使是在介绍性章节,我们也是以实战应用的介绍为重点。本书从一个简单系统开始,然后介绍PHP和MySQL的不同部分。

之后讨论与创建一个真实Web站点相关的安全性和身份验证方面的问题,并且介绍如何使用PHP和MySQL来实现这些功能。通过讨论JavaScript及其在Web应用开发中的角色,介绍如何集成协同前端和后端技术。

本书第五篇将介绍如何开发真实项目,并且和读者一起设计、计划及构建如下项目:

用户身份验证和个性化

基于Web的电子邮件客户端

社交媒体集成

这些项目都是可以直接使用的,或者可以经过一定的修改来满足读者的实际需要。之所以选择这些项目是因为我们相信它们是Web程序员最常面临的项目。如果读者的需求有所不同,本书也可以帮助大家实现目标。

什么是PHP

PHP是一种专门为Web设计的服务器端脚本语言。在一个HTML页面中,可以嵌入PHP代码,这些代码在页面每次被访问时执行。PHP代码将在Web服务器中被解释并且生成HTML或访问者可见的输出。

PHP出现于1994年,最初只是Rasmus Lerdorf一个人的投入。后来被一些天才所接受,它经历了数次重大的重写,才变成了我们今天所看到的广为使用的、成熟的PHP。根据Google公司的Greg Michillie 2014年5月的数据, PHP已经运行于全球75%的Web站点,而到2016年6月,这个数据已经变成82%。

PHP是一个开源的项目,这就意味着,你可以访问其源代码,也可以免费使用、修改并且再次发布。

PHP最初只是Personal Home Page(个人主页)的缩写,但是后来经过修改,采用了GNU命名惯例(GNU = Gnu抯 Not UNIX),如今它是PHP超文本预处理程序(PHP,Hypertext Preprocessor)的缩写。

目前,PHP的主要版本是7。该版本的Zend引擎经过完全重写,而且还实现了一些主要的语言改进。本书所有代码均已在PHP 7以及PHP 5.6下测试和验证。

PHP的主页是:http://www.php.net。

Zend Technologies的主页是:http://www.zend.com。

MySQL是什么

MySQL(发音为My-Ess-Que-Ell)是一个快速而又健壮的关系型数据库管理系统(Relational Database Management System,RDBMS)。数据库将允许你高效地存储、搜索、排序和检索数据。MySQL服务器将控制对数据的访问,从而确保多个用户可以并发访问数据、可以快速访问数据以及只有授权用户才能获得数据访问。因此,MySQL是一个多用户、多线程的服务器。它使用了结构化查询语言(SQL),该语言是标准数据库查询语言。MySQL是在1996年公布的,但是其开发历史可以追溯到1979年。它是世界上最受欢迎的开源数据库,已经多次获得“Linux Journal Readers?Choice”大奖。

MySQL可以在双许可模式下使用。可以在开源许可(GPL)下免费使用它,条件是满足该协议的一些条款。如果希望发布一个包括MySQL的非GPL应用程序,可以购买一个商业许可。

为什么要使用PHP和MySQL

当我们准备创建一个站点时,可以选择使用许多不同的产品。

你必须选择:

运行Web服务器的宿主:云、虚拟私有服务器或真实硬件

操作系统

Web服务器软件

数据库管理系统或其他数据存储

编程语言或脚本语言

也可以采用多种数据存储的混合架构。这些产品的选择具有相互依赖性。例如,并不是所有的操作系统都可以在所有的硬件上运行,并不是所有的Web服务器都支持所有的编程语言,等等。

在本书中,我们不会过于关注硬件、操作系统或Web服务器软件,我们也不需要关注这些。PHP和MySQL的一个最佳特性就是它们能够在任何主流操作系统和许多非主流操作系统上工作。

大部分PHP代码在不同的操作系统和Web服务器上都是可移植的。但是,也有一些与操作系统的文件系统相关的PHP函数,在本书以及PHP手册中,这些函数都将被明确标识出来。

无论选择何种硬件、操作系统和Web服务器,我们相信你会认真考虑PHP和MySQL。

PHP的一些优点

PHP的主要竞争对手是Python、Ruby on Rails、Node.js、Perl、Microsoft.NET和Java。

与这些产品相比,PHP具有很多优点,如下所示:

高性能

可扩展性

支持许多不同数据库系统的接口

内置许多常见Web任务所需的函数库

低成本

容易学习和使用

强面向对象支持

可移植性

开发方法的灵活性

源代码可用

可用的技术和文档支持

接下来将详细介绍这些优点。

性能

PHP速度非常快。使用一个独立的廉价服务器,就可以满足每天几百万次的点击量。它支持的Web应用小到电子邮件表单,大到整个站点,例如Facebook和Esty。

扩展性

PHP具有Rasmus Lerdorf经常提到的“shared-nothing”架构。这就意味着,可以使用大量普通服务器高效廉价地实现容量水平扩展。

数据库集成

对于许多数据库系统来说,PHP都具有针对它们的原生连接支持。除了MySQL之外,可以直接连接到PostgreSQL、Oracle、MongoDB和MSSQL数据库。PHP 5和PHP 7还增加了针对普通文件(SQLite)的内置SQL接口。

使用开放式数据库连接标准(ODBC),可以连接到提供了ODBC驱动程序的任何数据库。这包括Microsoft产品和许多其他产品。

除了原生函数库之外,PHP还提供了数据库访问抽象层,名为PHP数据库对象(PDO),它提供了对数据的一致性访问,并且倡导安全的编码实践。

内置函数库

由于PHP是为Web开发而设计的,因此它提供了许多内置函数来执行有用的Web任务。可以立即生成图像、连接到Web服务和其他网络服务、解析XML、发送电子邮件、使用cookie以及生成PDF文档,所有这些任务只需要少量代码行。

成本

PHP是免费的,可以在任何时候从http://www.php.net站点免费下载最新版本。

容易学习

PHP的语法是基于其他编程语言的,主要是C和Perl。如果读者已经了解了C或Perl,或者其他类似C的语言,例如C++或Java,那么几乎可以立即高效地使用PHP。

面向对象支持

PHP 5具有设计良好的面向对象特性,这些特性在PHP 7里得到改进。如果读者学过Java或C++编程,将发现你熟悉的一些特性(和常见语法),例如继承、私有和受保护的属性及方法、抽象类和方法、接口、构造函数和析构函数。读者还将发现一些不常见的特性,例如iterator和trait。

可移植性

PHP可用于多种操作系统。可以在类似于UNIX的免费操作系统(例如FreeBSD和Linux)、商业性的UNIX版本、Mac OS X或者Microsoft Windows的不同版本中编写PHP代码。

通常,代码不经过任何修改就可以运行于不同的操作系统。

开发方法的灵活性

通过基于设计模式的框架(例如,模型-视图-控制器,MVC),使用PHP,可以快速实现简单任务,或开发大型应用。

源代码可用

可以访问PHP的所有源代码。与商业性的封闭式源代码产品不同,可以免费在PHP中修改或者添加新特性。

我们无须等待开发商来发布补丁,也不需要担心开发商倒闭或者决定停止对一个产品的支持。

可用的技术和文档支持

Zend Technologies(www.zend.com)公司通过提供商业性技术支持和相关的软件为PHP开发提供支持。

PHP文档和社区都非常成熟,有大量的共享信息资源。

PHP 7.0的关键特性

2015年12月,期待已久的PHP 7终于问世。正如前面介绍的,本书将覆盖PHP 5.6和PHP 7,你可能会问“那PHP 6呢”?答案很简单:没有PHP 6,PHP 6没有正式发布过。但是,的确有开发人员开发过PHP 6,但最终没有取得成果。曾经也有些关于PHP 6的项目规划,但这些规划带来的复杂性让PHP开发团队最终放弃了PHP 6。PHP 7不是PHP 6,它并没有包含PHP 6的代码和特性,因此PHP 7有其自己的重点—性能。

在底层,PHP 7包含了Zend引擎的重构,为许多Web应用带来了明显的性能提升:有些甚至提升了100%!虽然PHP 7提升了性能,减少了内存使用量,但也引入了一些向下兼容的问题。事实上,PHP 7引入了非常少的向下兼容问题。在本书后续内容中,如果存在向下兼容问题,我们将专门介绍它,这样可以确保本书内容适用于PHP 5.6和PHP 7,毕竟在本书编写时,PHP 7还没有被商业性Web主机服务提供商广泛应用。

MySQL的一些优点

在关系型数据库领域,MySQL的主要竞争产品包括PostgreSQL、Microsoft SQL Server和Oracle。在Web应用开发领域,也有使用非SQL非关系型数据库(例如MongoDB)的趋势。接下来介绍为何MySQL仍旧适用于Web应用。

MySQL具备很多优点,包括:

高性能

低成本

易于配置和学习

可移植性

源代码可用

支持可用

下面将详细介绍以上优点。

性能

不可否认,MySQL的速度非常快。在http://www.mysql.com/why-mysql/benchmarks/站点,可以找到许多开发人员的评测页面。

低成本

在开源许可下,MySQL是免费的,而在商业许可下,MySQL也只需要很少的费用。如果读者希望将MySQL作为应用程序的一部分重新发布,并且不希望在开源许可下授权应用程序,那么必须获得一个商业许可。如果读者并不打算发布应用程序(适用于大多数Web应用)或者只是开发免费软件,那么就不需要购买许可。

易用

大多数现代数据库都使用SQL。如果读者曾经使用过其他的RDBMS,就能快速上手MySQL。MySQL的设置也比其他类似产品的设置简单。

可移植性

MySQL可以在许多不同的UNIX系统中使用,同时也可以在Microsoft的Windows系统中使用。

源代码可用

与PHP一样,读者可以获得并修改MySQL的源代码。对大多数用户来说,基本上不需要对MySQL源代码进行修改,但是由于有了源代码访问,它消除了开发者的后顾之忧,可以确保未来的持续性,并且提供了紧急情况下的选择。

事实上,目前MySQL也出现了一些分支,例如MariaDB,它们也由MySQL的原开发人员开发(包括Michael ‘Monty’ Widenius,http://mariadb.org),读者可以考虑使用。

支持可用

并不是所有的开源产品都有一家母公司来提供技术支持、培训、咨询和认证,但是读者可以从Oracle获得所有这些服务(因为Oracle收购了Sun公司,而Sun公司之前收购了MySQL AB)。

MySQL 5.x的新特性

在本书编写时,MySQL的最新版本是5.7。

在最近几个版本中,MySQL新引入的特性包括:

大范围的安全提升

InnoDB表的FULLTEXT支持

InnoDB的非SQL API支持

分区支持

复制改进,包括基于行的复制和GTID

线程池

可插拔验证

多核扩展性

更好的诊断工具

InnoDB作为默认引擎

IPv6支持

插件API

事件调度

自动升级

其他变化包括更多ANSI标准支持以及性能提升。

如果还在使用MySQL 4.x或3.x版本,你应该了解从MySQL 4.0版本开始新增加的特性:

视图

存储过程

触发器和游标

子查询支持

存储地理数据的GIS类型

国际化支持改进

事务安全存储引擎InnoDB

MySQL查询缓存,它极大地提升了Web应用常有的重复性查询的查询速度

本书的组织结构

本书分为五个部分(除此之外,还有附录)。

第一篇(使用PHP),通过一些示例概述了PHP语言的主要部分。每一个示例都是在构建真实电子商务站点时可能用到的示例,而不是一些泛泛的代码示例。如果读者已经使用过PHP,可以跳过第1章。如果读者是PHP新手或者是入门程序员,那么可能需要花一些时间阅读第1章。

第二篇(使用MySQL)将介绍一些概念和设计,这些概念和设计包括使用关系型数据库系统(例如MySQL)、使用SQL、使用PHP连接MySQL数据库,以及MySQL高级技术(例如,安全性和优化)的使用。

第三篇(Web应用安全性)介绍了使用任何语言开发Web应用所涉及的常见问题。还将介绍如何使用PHP和MySQL来进行用户身份验证,以及安全地搜集、传输和保存数据。

第四篇(PHP高级编程技术)提供了PHP中一些主要内置函数的详细介绍。我们选择了一些在创建Web应用时可能用到的函数库进行介绍。读者将学会如何与服务器进行交互、如何与网络进行交互、图像的生成、日期时间的操作以及会话处理。

第五篇(构建实用的PHP和MySQL项目)是我们最喜欢的一篇,主要介绍如何解决真实项目中可能遇到的实际问题,例如管理和调试大型项目,提供了一些能够说明PHP和MySQL强大功能的示例项目。

小结

我们希望你能喜欢本书,享受学习PHP和MySQL的过程,就像我们开始使用这些产品时的感受一样。PHP和MySQL的确是非常不错的产品。很快,你就能够加入成千上万的Web开发人员行列,同他们一起使用这些健壮、功能强大的工具来构建动态、实时的Web应用。



踏入互联世界:构筑动态网页与高效数据库的基石 在这个信息爆炸、万物互联的时代,网站已不再是简单的信息展示平台,而是企业、个人展示实力、传播思想、实现交易的核心载体。而支撑起这些鲜活、交互式体验的,正是幕后那些强大的技术力量。本书正是为你揭示这股力量的奥秘,带你从零开始,精通构建现代动态网站的两种关键技术:PHP——一种广泛应用于Web开发的脚本语言,以及MySQL——一种功能强大、广泛使用的开源关系型数据库。 你是否曾对那些能够响应用户操作、实时更新内容、甚至能够实现复杂功能的网站感到好奇?你是否渴望拥有自己创建这样网站的能力,将创意转化为生动的在线体验?抑或是你已经是一名开发者,希望系统地学习并巩固PHP和MySQL的知识体系,提升开发效率和网站性能?无论你的目标是什么,本书都将是你不可或缺的学习伙伴。 为何选择PHP和MySQL? 在五花八门的Web开发技术中,PHP和MySQL之所以能够长期占据主导地位,并被数百万开发者所信赖,究其原因在于它们独具的优势: PHP:易学易用,功能强大。 PHP是一种开源的服务器端脚本语言,它的语法结构清晰,学习曲线平缓,尤其适合初学者快速上手。同时,PHP拥有极其丰富的内置函数库和庞大的第三方扩展生态系统,能够应对从简单的表单处理到复杂的企业级应用开发的各种需求。其广泛的应用范围,从个人博客到大型电商平台,都证明了它的强大生命力。 MySQL:稳定可靠,性能卓越。 MySQL是世界上最流行的开源关系型数据库管理系统之一。它以其稳定性、高性能、易用性和低廉的成本而闻名。MySQL能够高效地存储、管理和检索海量数据,并提供强大的数据一致性和安全性保障。无论是小型项目还是大规模并发访问的应用程序,MySQL都能提供稳定可靠的数据支撑。 黄金组合:协同效应显著。 PHP和MySQL的组合堪称Web开发领域的“黄金拍档”。PHP擅长处理服务器端的逻辑、与用户交互,而MySQL则负责数据的存储和管理。两者之间无缝集成,PHP脚本可以轻松地与MySQL数据库进行连接、查询、插入、更新和删除等操作,从而实现数据的动态展示和交互。这种高效的协同工作方式,极大地简化了Web应用程序的开发流程。 开源免费,社区活跃。 PHP和MySQL都是开源软件,这意味着它们可以免费使用,并且拥有庞大而活跃的开发者社区。这意味着你在开发过程中遇到的任何问题,都有可能在社区中找到解决方案,获得技术支持,并且能够持续获得新版本的更新和功能增强。 本书将带你领略哪些精彩? 本书并非仅仅停留在理论的堆砌,而是以实战为导向,带领你一步一个脚印地掌握PHP和MySQL的精髓。你将从基础概念出发,逐步深入到更高级的主题,最终能够独立构建功能完善的Web应用程序。 一、PHP编程的基石:构建逻辑的语言 初识PHP: 我们将从PHP的安装和基本配置入手,让你快速搭建起自己的开发环境。你会了解PHP代码如何在服务器端执行,以及它与HTML的协同工作方式。 变量、数据类型与运算符: 掌握PHP的核心构建模块,包括如何声明变量、使用不同的数据类型(字符串、整数、浮点数、布尔值、数组、对象等)以及运用各种运算符进行逻辑运算和表达式构建。 控制结构: 学习如何控制程序的流程,包括条件语句(if-else, switch)来根据不同情况执行代码,以及循环语句(for, while, foreach)来重复执行任务,从而实现程序的高度灵活性。 函数: 探索函数的重要性,学会如何定义和调用函数来封装代码,提高代码的可重用性和模块化程度。你将学习到内置函数的使用,以及如何创建自己的自定义函数。 数组: 深入理解数组的多样性,包括索引数组和关联数组,以及如何对数组进行遍历、排序、合并和查找等操作,为管理和处理数据集打下坚实基础。 面向对象编程(OOP): 学习PHP面向对象编程的思想,包括类、对象、继承、封装和多态等概念。掌握OOP能够让你构建出结构清晰、易于维护和扩展的大型应用程序。 文件处理: 学习如何读取、写入和操作服务器上的文件,这在处理上传文件、生成报表或日志记录等方面至关重要。 错误处理与调试: 掌握有效的错误处理机制,学会如何捕获和报告错误,以及使用调试工具来定位和解决代码中的问题,确保程序的健壮性。 二、MySQL数据库的奥秘:数据的守护者 数据库基础: 理解关系型数据库的基本概念,包括表、字段、记录、主键、外键等。了解数据模型的设计原则,为高效存储和管理数据做好准备。 SQL语言: 学习强大的SQL(Structured Query Language)语言,这是与MySQL进行交互的标准语言。你将掌握如何使用SQL语句来创建、查询、插入、更新和删除数据库中的数据。 数据表的设计与管理: 学习如何设计规范化的数据库表结构,包括选择合适的数据类型、设置约束条件(如非空、唯一、默认值),以及如何创建、修改和删除数据表。 数据查询与筛选: 精通各种查询技巧,包括使用WHERE子句进行条件筛选、ORDER BY子句进行排序、GROUP BY子句进行分组统计,以及使用JOIN语句连接多个表来获取更丰富的数据。 数据插入、更新与删除: 学习如何安全有效地向数据库中添加新数据、修改现有数据以及移除不再需要的数据。 数据库的优化与维护: 了解索引的作用,如何通过添加索引来提高查询性能。学习一些基本的数据库维护技巧,确保数据库的稳定运行。 三、PHP与MySQL的完美结合:构建动态Web应用 连接MySQL数据库: 学习如何使用PHP编写代码,连接到MySQL数据库,并建立安全可靠的通信通道。 执行SQL查询: 将PHP脚本与SQL语句相结合,实现动态的数据查询。你将学会如何从数据库中获取数据,并在网页上进行展示。 表单数据处理: 掌握如何通过PHP接收和处理用户在HTML表单中提交的数据,并将这些数据存储到MySQL数据库中,实现数据的持久化。 构建用户认证系统: 学习如何使用PHP和MySQL来实现用户注册、登录、注销等功能,为你的网站添加安全的用户管理体系。 动态内容生成: 实现根据不同的用户、不同的条件,动态生成网页内容,使网站更加个性化和智能化。 数据验证与安全性: 重点关注数据验证的重要性,防止SQL注入等安全漏洞,保护你的网站和用户数据的安全。 实战项目: 本书将穿插丰富的实例,带领你一步步构建一个完整的Web应用程序,例如一个简单的博客系统、一个留言板或者一个在线商店的部分功能。通过实际的项目演练,你将学到如何在真实场景中应用PHP和MySQL技术。 学习本书,你将收获什么? 扎实的理论基础: 深入理解PHP和MySQL的核心概念和工作原理。 强大的实践能力: 掌握将理论知识转化为实际代码,解决实际Web开发问题的能力。 独立的开发技能: 能够独立设计、开发和维护动态Web应用程序。 解决问题的信心: 面对开发中遇到的挑战,能够运用所学知识找到有效的解决方案。 职业发展的敲门砖: 掌握PHP和MySQL是进入Web开发领域,开启职业生涯的重要一步。 无论你是怀揣着创业梦想的独立开发者,还是希望提升技能的在校学生,抑或是寻求技术升级的IT从业者,本书都将是你探索Web开发无限可能性的最佳起点。准备好迎接这场技术之旅了吗?让我们一起,用PHP和MySQL,构建出您心中所想的精彩互联世界!

用户评价

评分

这本书真的让我耳目一新!作为一名 PHP 和 MySQL 的新手,我一直渴望找到一本能够系统性地引导我入门,并且内容足够深入的书籍。这本书正是这样一本宝藏!从最基础的 PHP 语法讲解,到 MySQL 数据库的设计与操作,再到如何将两者无缝结合,实现动态网页的开发,每一个环节都讲解得非常到位。作者的写作风格清晰易懂,即使是初学者也能够轻松理解。大量的代码示例更是让我受益匪浅,可以直接复制代码并进行修改和实践,大大提高了学习效率。我尤其喜欢书中关于如何构建一个完整的 Web 应用的章节,它将分散的知识点串联起来,让我对整个开发流程有了更清晰的认识。通过学习这本书,我不仅掌握了 PHP 和 MySQL 的核心技能,还培养了良好的编程习惯。对于任何想要踏入 Web 开发领域的朋友,这本书绝对是你的不二之选!我迫不及待地想将书中学到的知识应用到实际项目中,创造出属于自己的精彩网页。

评分

不得不说,这本书的排版和印刷质量都非常棒!拿到手里就感觉很有质感。内容方面,作为一名对 Web 开发充满好奇心的学生,我一直想找一本能够让我快速上手的书。这本书就做到了!它从零开始,一步步地教你如何搭建开发环境,如何编写第一个 PHP 程序,如何创建和管理 MySQL 数据库。书中的图文并茂,代码注释也十分详细,让我不会因为看不懂代码而感到沮丧。特别是书中关于 HTML、CSS 和 JavaScript 的基础介绍,虽然不是重点,但对于 Web 开发来说却是不可或缺的,作者的整合非常贴心。我特别喜欢书中的练习题,每章后面都有,能够帮助我巩固所学知识。我已经迫不及待地想要开始我的第一个 Web 项目了!这本书为我打开了通往 Web 开发世界的大门,充满了鼓励和启发。

评分

我是一名有一定 PHP 基础的开发者,这次选择这本书主要是想深入了解 MySQL 的高级特性以及更健壮的 Web 开发实践。这本书果然没让我失望!它在 MySQL 部分深入探讨了索引优化、事务处理、存储过程等内容,这些都是提升数据库性能和应用稳定性的关键。同时,书中关于安全方面的讲解也非常详细,SQL 注入、XSS 攻击的防范措施,以及用户认证和授权的实现,都给出了切实可行的解决方案。让我印象深刻的是,作者并没有止步于理论讲解,而是通过一系列实战项目,将这些知识融会贯通。例如,书中构建的博客系统和电子商务平台的案例,让我看到了如何将所学的技术应用到实际场景中,并且能够处理更复杂的业务逻辑。这本书的深度和广度都相当不错,它既适合新手入门,也能够满足有一定经验的开发者进阶的需求。我强烈推荐这本书给所有想要提升 PHP 和 MySQL Web 开发技能的朋友们。

评分

这次购买这本书,主要是看中了它“原书第5版”的标签,以为能够获得最新的技术和最佳实践。从内容来看,它确实覆盖了 PHP 和 MySQL 的核心技术,并且在很多方面都有详细的阐述。我尤其对书中关于 AJAX 和 RESTful API 的讲解比较感兴趣,它让我了解到了如何实现更现代、更具交互性的 Web 应用。同时,书中也提到了一些关于前端技术与后端技术如何协同工作的概念,这对于我理解整个 Web 技术栈非常有帮助。虽然我对某些章节的深度略有期待,但总体而言,这本书仍然是一本非常不错的入门和进阶读物。它为我提供了一个坚实的基础,并且在我继续深入学习的过程中,它将是我重要的参考资料。我很高兴能拥有这本书,并相信它会在我的学习之路上给我带来持续的帮助。

评分

这本书的视角非常独特,它不仅仅是讲解技术,更侧重于如何构建一个真正可用的、可维护的 Web 应用。作者在书中反复强调了编码规范、版本控制(Git)以及测试的重要性,这些都是我们在实际工作中常常会忽视但却至关重要的方面。书中关于框架的介绍,虽然不是深入讲解某个具体框架,但为我理解不同框架的设计理念打下了基础,并且让我明白在没有框架的情况下如何组织代码,如何实现模块化开发。这让我对“如何写出好的代码”有了更深的理解。在数据库设计方面,书中提供了很多实用建议,比如如何进行数据库范式设计,如何选择合适的数据类型,这些都能够帮助我避免很多常见的数据库设计陷阱。这本书的价值在于它提供了一种“全景式”的 Web 开发思维,让我不再只是孤立地学习技术点,而是能够从整体上把握 Web 应用的开发过程。

评分

感觉这本书并没有想象中的好,有些地方解释的不怎么清楚,这个价钱太贵了,不过为知识买单,如果看进去了还是值得的,我是视频和书一起看

评分

看过第四版, 学习php挺好的, 中间快递有点曲折, 总之挺好的

评分

有优惠券买书才买的,书本没有掉页等问题,就是一本在北京,两本一起寄花了点时间

评分

同样的,希望无德导师不要再误人子弟,自私自利,让学生多学点有用的东西,希望大家不要选错导师?

评分

不错,用着很好,多多支持

评分

非常好的书,下次再来

评分

用着还行吧,讲一些基本经验,初学者可以看看

评分

PHP和MySQL Web开发(原书第4版)PHP和MySQL Web开发(原书第4版)PHP和MySQL Web开发(原书第4版)PHP和MySQL Web开发(原书第4版)PHP和MySQL Web开发(原书第4版)PHP和MySQL Web开发(原书第4版)PHP和MySQL Web开发(原书第4版)

评分

页数 200

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有