《PHP 7动态网站开发案例课堂 第2版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘春茂编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302490975
  • 页数:459 页
图书介绍:讲解PHP 服务器环境配置、PHP的基本语法 、PHP语言结构、PHP文件与目录操作、图形图像处理、 Cookie和会话管理、MySQL数据库基础、PHP操作MySQL数据库。PDO数据库抽象类库、PHP与JavaScript交互、PHP与XML技术、PHP与Ajax的综合应用、 Smarty模板、Zend Framework框架、PHP与jQuery技术、PHP加密技术。

第1篇 基础入门 3

第1章 揭开PHP的神秘面纱——我的第一个PHP程序 3

1.1认识PHP 4

1.1.1什么是PHP 4

1.1.2PHP的发展历程 4

1.1.3PHP语言的优势 5

1.2PHP7的新特征 5

1.3PHP服务器概述 7

1.4新手的福音——安装WampServer集成开发环境 8

1.5常用的开发利器 11

1.5.1PHP代码开发工具 11

1.5.2网页设计工具 12

1.5.3文本编辑工具 12

1.6案例实战——我的第一个PHP程序 13

1.7如何能学好PHP7 14

1.8疑难解惑 15

第2章 零基础开始学习——PHP的基本语法 17

2.1PHP语言标识风格 18

2.2熟悉编码规范 18

2.2.1什么是编码规范 19

2.2.2PHP的一些编码规范 19

2.3常量 21

2.3.1声明和使用常量 21

2.3.2使用系统预定义常量 21

2.4变量 23

2.4.1PHP中的变量声明 23

2.4.2可变变量和变量的引用 24

2.4.3变量作用域 25

2.4.4变量的销毁 27

2.5理解变量的类型 28

2.5.1什么是类型 28

2.5.2整型(integer) 29

2.5.3浮点型(float或double) 29

2.5.4布尔型(boolean) 29

2.5.5字符串型(string) 29

2.5.6数组型(array) 30

2.5.7对象型(object) 32

2.5.8NULL型 32

2.5.9资源类型(Resource) 32

2.5.10数据类型之间的相互转换 32

2.6PHP7的新变化——声明标量类型和函数返回值类型 33

2.7使用运算符 35

2.7.1算术运算符 35

2.7.2字符串连接符 36

2.7.3赋值运算符 36

2.7.4比较运算符 37

2.7.5逻辑运算符 38

2.7.6按位运算符 38

2.7.7否定控制运算符 39

2.7.8错误控制运算符 39

2.7.9三元运算符 39

2.7.10运算符的优先级和结合规则 39

2.8PHP7的新变化——合并运算符和组合运算符 40

2.9PHP中的表达式 40

2.10案例实战——创建多维数组 41

2.11疑难解惑 42

第3章 实现定制功能——函数的应用 43

3.1认识函数 44

3.2内置函数 44

3.2.1数学函数 44

3.2.2变量相关的函数 45

3.3自定义函数 46

3.3.1定义和调用函数 46

3.3.2向函数传递参数值 47

3.3.3向函数传递参数引用 48

3.3.4从函数中返回值 48

3.3.5引用函数 49

3.3.6取消函数引用 50

3.3.7变量函数 50

3.4PHP7的新变化——新增intdiv()函数 51

3.5包含文件 51

3.5.1require和include 52

3.5.2include_once和require_once 52

3.6疑难解惑 53

第4章 程序的执行方向——程序控制结构 55

4.1流程控制概述 56

4.2条件控制结构 56

4.2.1单一条件分支结构(if语句) 56

4.2.2双向条件分支结构(if…else语句) 57

4.2.3多向条件分支结构(elseif语句) 57

4.2.4多向条件分支结构(switch语句) 58

4.3循环控制结构 60

4.3.1while循环语句 60

4.3.2do…while循环语句 60

4.3.3for循环语句 61

4.3.4foreach循环语句 62

4.3.5流程控制的另一种书写格式 62

4.3.6使用break/continue语句跳出循环 64

4.4案例实战1——条件分支结构的应用 65

4.5案例实战2——循环控制结构的应用 66

4.6疑难解惑 67

第5章 不可不说的文本数据——字符串 69

5.1字符串的单引号和双引号 70

5.2字符串的连接符 71

5.3字符串的基本操作 72

5.3.1手动和自动转义字符串中的字符 72

5.3.2计算字符串的长度 72

5.3.3字符串单词统计 73

5.3.4清理字符串中的空格 74

5.3.5字符串的切分与组合 74

5.3.6字符串子串的截取 75

5.3.7字符串子串的替换 76

5.3.8字符串查找 77

5.4疑难解惑 77

第6章 匹配文本有妙招——正则表达式 79

6.1什么是正则表达式 80

6.2正则表达式的语法规则 80

6.2.1方括号([]) 80

6.2.2连字符(-) 80

6.2.3点号字符(.) 80

6.2.4限定符(+*?{n,m}) 81

6.2.5行定位符(^和S) 81

6.2.6排除字符([^]) 81

6.2.7括号字符(()) 81

6.2.8选择字符(|) 81

6.2.9转义字符与反斜杠 81

6.2.10认证E-mail的正则表达式 82

6.3Perl兼容正则表达式函数 82

6.3.1使用正则表达式对字符串进行匹配 82

6.3.2使用正则表达式替换字符串的子串 84

6.3.3使用正则表达式切分字符串 85

6.4案例实战——创建商品在线订单页面 85

6.5疑难解惑 89

第2篇 核心技术 93

第7章 特殊的元素集合——数组 93

7.1什么是数组 94

7.2数组类型 94

7.2.1数字索引数组 94

7.2.2关联索引数组 95

7.3数组的结构 95

7.3.1一维数组 96

7.3.2多维数组 96

7.4遍历数组 98

7.4.1遍历一维数字索引数组 98

7.4.2遍历一维关联索引数组 98

7.4.3遍历多维数组 99

7.5数组排序 100

7.5.1一维数组排序 100

7.5.2多维数组排序 102

7.6字符串与数组的转换 103

7.7向数组中添加和删除元素 104

7.7.1向数组中添加元素 104

7.7.2从数组中删除元素 105

7.8查询数组中的指定元素 106

7.9统计数组元素的个数 108

7.10删除数组中重复的元素 109

7.11调换数组中的键值和元素值 110

7.12数组的序列化 111

7.13疑难解惑 112

第8章 表单的动态效果——PHP与Web页面交互 113

8.1创建动态内容 114

8.2表单与PHP 114

8.3设计表单元素 115

8.3.1表单的基本结构 115

8.3.2文本框 115

8.3.3复选框 116

8.3.4单选按钮 118

8.3.5下拉列表 119

8.3.6重置按钮和提交按钮 120

8.4传递数据 123

8.4.1用POST方式传递数据 123

8.4.2用GET方式传递数据 123

8.5PHP获取表单传递数据的方法 124

8.6PHP对URL传递的参数进行编码 125

8.7案例实战——团购商品订单表 126

8.8疑难解惑 127

第9章 时间很重要——管理日期和时间 129

9.1系统时区的设置 130

9.1.1时区划分 130

9.1.2时区设置 130

9.2PHP的日期和时间函数 130

9.2.1关于Unix时间戳 130

9.2.2获取当前的时间戳 131

9.2.3获取当前的日期和时间 131

9.2.4使用时间戳获取日期信息 132

9.2.5检验日期的有效性 135

9.2.6输出格式化时间戳的日期和时间 135

9.2.7显示本地化的日期和时间 137

9.2.8将日期和时间解析为Unix时间戳 138

9.2.9日期时间在PHP和MySQL数据格式之间转换 138

9.3案例实战1——实现倒计时功能 139

9.4案例实战2——比较两个时间的大小 139

9.5疑难解惑 140

第10章 保持HTTP连接状态——Cookie和会话管理 141

10.1Cookie的基本操作 142

10.1.1什么是Cookie 142

10.1.2创建Cookie 142

10.1.3读取Cookie 143

10.1.4删除Cookie 144

10.2认识Session 145

10.2.1什么是Session 145

10.2.2Session的基本功能 146

10.2.3Cookie与Session 146

10.2.4储存Session ID在Cookie或URL中 146

10.3会话管理 146

10.3.1创建会话 146

10.3.2注册会话变量 147

10.3.3使用会话变量 148

10.3.4注销和销毁会话变量 148

10.4案例实战——综合应用会话管理 149

10.5疑难解惑 150

第11章 设计图形图像——GD绘图与图像处理 151

11.1在PHP中加载GD库 152

11.2图形图像的典型应用案例 154

11.2.1创建一个简单的图像 155

11.2.2使用GD2的函数在图片上添加文字 156

11.2.3使用TrueType字体处理中文生成图片 157

11.3Jpgraph库的基本操作 159

11.3.1Jpgraph的安装 160

11.3.2Jpgraph的配置 160

11.4案例实战1——制作圆形统计图 161

11.5案例实战2——制作3D饼形统计图 163

11.6疑难解惑 164

第12章 不可避免的问题——错误处理和异常处理 167

12.1常见的错误和异常 168

12.2错误处理 171

12.2.1php.ini中的错误处理机制 171

12.2.2应用DIE语句来调试 172

12.2.3自定义错误和错误触发器 172

12.2.4错误记录 175

12.3PHP7新变化——改变了错误的报告方式 176

12.4异常处理 177

12.4.1异常的基本处理方法 177

12.4.2自定义的异常处理器 179

12.4.3处理多个异常 180

12.4.4设置顶层异常处理器 181

12.5案例实战——处理异常或错误 182

12.6疑难解惑 183

第13章 与外界的交流——操作文件与目录 185

13.1查看文件和目录 186

13.1.1查看文件名称 186

13.1.2查看目录名称 186

13.1.3查看文件真实目录 187

13.2查看文件信息 187

13.2.1查看文件的类型 187

13.2.2查看文件的访问和修改时间 188

13.3文件操作 188

13.3.1打开文件和关闭文件 189

13.3.2读取文件 190

13.3.3文件数据写入 191

13.3.4重命名和移动文件 193

13.3.5复制文件 193

13.3.6删除文件 194

13.4目录操作 194

13.5上传文件 198

13.5.1全局变量$FILES 198

13.5.2文件上传 199

13.6案例实战——编写访客计数器 201

13.7疑难解惑 202

第14章 主流的编程思想——面向对象编程 203

14.1类和对象的介绍 204

14.2类的基本操作 205

14.2.1类的声明 205

14.2.2成员属性 205

14.2.3成员方法 206

14.2.4类的实例化 206

14.2.5访问类中的成员属性和方法 207

14.3构造方法和析构方法 208

14.4访问器 210

14.5类的继承 211

14.6抽象类和接口 212

14.6.1抽象类 212

14.6.2接口 213

14.7面向对象的多态性 215

14.7.1通过继承实现多态 215

14.7.2通过接口实现多态 216

14.8PHP7的新变化——支持匿名类 217

14.9疑难解惑 218

第15章 提升网站安全的武器——PHP加密技术 219

15.1使用PHP加密函数 220

15.1.1实例1——使用md5()函数进行加密 220

15.1.2实例2——使用crypt()函数进行加密 220

15.1.3实例3——使用sha1()函数进行加密 222

15.2使用PHP加密扩展库 222

15.2.1实例4——安装和使用Mcrypt扩展库 222

15.2.2实例5——使用Mhash扩展库 224

15.3疑难解惑 226

第3篇 高级技能 229

第16章 管理MySQL的利器——phpMyAdmin操作MySQL数据库 229

16.1什么是MySQL 230

16.1.1客户-服务器软件 230

16.1.2数据库的原理 230

16.1.3MySQL版本 231

16.1.4MySQL的优势 232

16.2创建MySQL数据库和数据表 232

16.2.1启动phpMyAdmin管理程序 232

16.2.2创建数据库 233

16.2.3认识数据表的字段 234

16.2.4创建数据表 236

16.2.5添加数据 238

16.3加密MySQL数据库 239

16.3.1MySQL数据库的安全问题 239

16.3.2为MySQL管理账号加上密码 240

16.4数据库的备份与还原 241

16.4.1数据库的备份 241

16.4.2数据库的还原 242

16.5疑难解惑 243

第17章 数据库编程——MySQL数据库与SQL查询 245

17.1安装与配置MySQL5.7 246

17.1.1安装MySQL5.7 246

17.1.2配置MySQL5.7 248

17.2启动服务并登录MySQL数据库 251

17.2.1启动MySQL服务 251

17.2.2登录MySQL数据库 252

17.3MySQL数据库的基本操作 254

17.3.1创建数据库 254

17.3.2查看数据库 254

17.3.3删除数据库 255

17.3.4选择数据库 255

17.4MySQL数据表的基本操作 256

17.4.1创建数据表 256

17.4.2查看数据表的结构 257

17.4.3修改数据表结构 258

17.4.4删除数据表 259

17.5MySQL语句的操作 259

17.5.1插入记录 259

17.5.2查询记录 260

17.5.3修改记录 261

17.5.4删除记录 261

17.6MySQL数据库的备份与还原 261

17.6.1数据备份 261

17.6.2数据还原 268

17.7疑难解惑 270

第18章 最经典的方法——使用MySQLi操作MySQL 271

18.1PHP访问MySQL数据库的一般步骤 272

18.2连接数据库前的准备工作 272

18.3PHP操作MySQL数据库 273

18.3.1连接MySQL服务器 273

18.3.2选择数据库 274

18.3.3创建数据库 275

18.3.4创建数据表 276

18.3.5添加数据 278

18.3.6一次插入多条数据 279

18.3.7读取数据 281

18.3.8释放资源 282

18.3.9关闭连接 282

18.4案例实战1——动态添加员工信息 283

18.5案例实战2——动态查询数据信息 284

18.6提升安全性——防止SQL注入的攻击 286

18.7疑难解惑 287

第19章 最兼容的方法——使用PDO操作MySQL数据库 289

19.1认识PDO 290

19.2PDO的安装 290

19.3使用PDO操作MySQL 291

19.3.1连接MySQL数据库 292

19.3.2创建数据库 293

19.3.3创建数据表 294

19.3.4添加数据 295

19.3.5一次插入多条数据 296

19.3.6读取数据 296

19.4提升安全性——防止SQL注入的攻击 298

19.5疑难解惑 299

第20章 跨平台的数据通信——PHP与XML技术 301

20.1理解XML概念 302

20.2XML语法基础 303

20.2.1XML文档组成和声明 303

20.2.2XML元素介绍 304

20.2.3处理指令实体引用 306

20.2.4XML命名空间 307

20.2.5XML DTD 308

20.2.6使用CDATA标签 309

20.3将XML文档转换为HTML加以输出 309

20.4在PHP中创建XML文档 310

20.5使用SimpleXML扩展 310

20.5.1创建SimpleXMLElement对象 310

20.5.2访问特定节点元素和属性 312

20.5.3添加XML元素和属性 312

20.6案例实战——动态创建XML文档 313

20.7疑难解惑 314

第21章 异步通信更高效——PHP与Ajax技术 315

21.1Ajax概述 316

21.1.1什么是Ajax 316

21.1.2Ajax的工作过程 319

21.1.3Ajax的关键元素 319

21.1.4CSS与AjAjax 320

21.2Ajax的核心技术 320

21.2.1全面剖析XMLHttpRequest对象 320

21.2.2发出Ajax请求 322

21.2.3处理服务器响应 324

21.3案例实战1——应用Ajax技术检查用户名 325

21.4案例实战2——应用Ajax技术实现投票功能 328

21.5疑难解惑 331

第22章 增强PHP的功能——PHP与jQuery技术 333

22.1jQuery概述 334

22.1.1jQuery能做什么 334

22.1.2jQuery的特点 334

22.1.3jQuery的技术优势 335

22.2下载并配置jQuery 337

22.2.1下载jQuery 337

22.2.2配置jQuery 339

22.3我的第一个jQuery程序 339

22.3.1开发前的一些准备工作 339

22.3.2具体的程序开发 340

22.4jQuery选择器 340

22.4.1jQuery的工厂函数 340

22.4.2常见选择器 341

22.5jQuery控制页面 343

22.6jQuery的事件处理 344

22.6.1页面加载响应事件 344

22.6.2事件捕获与事件冒泡 345

22.7jQuery的动画效果 346

22.8案例实战——PHP与jQuery技术的应用 347

22.9疑难解惑 349

第23章 灵活而强大的框架——Zend Frame-work框架 351

23.1什么是Zend Framework框架 352

23.2Zend Framework的目录结构 352

23.3Zend Framework的安装与测试 353

23.3.1实例1——Zend Framework的安装 353

23.3.2实例2——创建一个新的ZendFramework应用 353

23.4PHP与Zend Framework的基本操作 356

23.4.1实例3——在Zend Framework应用中创建控制层文件 356

23.4.2实例4——在Zend Framework的控制层文件中添加一个action 357

23.4.3实例5——在Zend Framework中创建布局(layout) 358

23.4.4实例6——在Zend Framework中的数据库操作 359

23.4.5实例7——在Zend Framework中创建表单 360

23.5疑难解惑 362

第4篇 项目实战 365

第24章 项目实训1——开发验证码系统 365

24.1系统分析 366

24.1.1学习目标 366

24.1.2需求分析 366

24.1.3系统文档 366

24.2系统的代码实现 367

24.2.1系统主界面 367

24.2.2生成并输入验证码功能 368

24.2.3验证码控制器 369

24.3系统测试 371

第25章 项目实训2——开发个人博客系统 373

25.1系统的需求分析 374

25.1.1学习目标 374

25.1.2需求分析 374

25.1.3系统文档 374

25.2数据库分析 375

25.2.1分析数据库 375

25.2.2创建数据表 375

25.3个人博客系统的代码实现 376

25.3.1博客数据模型的文件 376

25.3.2个人博客系统的主页面 380

25.3.3个人博客新建和编辑页面 382

25.3.4个人博客删除页面 384

25.4系统测试 385

第26章 项目实训3——开发用户权限系统 387

26.1必备知识 388

26.2系统的需求分析 389

26.2.1学习目标 389

26.2.2需求分析 389

26.2.3系统文档 389

26.3数据库分析 390

26.3.1分析数据库 390

26.3.2创建数据表 391

26.4用户权限系统的代码实现 393

26.4.1系统入口文件 393

26.4.2页面控制器 393

26.4.3用户登录页面 395

26.4.4数据模型的文件 397

26.4.5用户数据模型页面 399

26.4.6角色数据模型页面 401

26.4.7权限数据模型页面 402

26.4.8权限显示页面 403

26.5系统测试 404

第27章 项目实训4——开发社区市场系统 407

27.1必备知识 408

27.2系统的需求分析 408

27.2.1学习目标 408

27.2.2需求分析 409

27.2.3系统文档 409

27.3还原数据库 410

27.4社区市场系统的代码实现 411

27.4.1系统入口文件 411

27.4.2项目配置文件 411

27.4.3物品与需求展示控制器 414

27.4.4用户后台控制器 434

27.4.5数据模型的文件 448

27.5系统测试 450