PHP基础与案例开发详解

PHP基础与案例开发详解"

作者:耿兴隆张莹薛玉倩
ISBN:9787302373827
定价:¥56
字数:千字
页数:
出版时间:2015.01.01
开本:
版次:1-7
装帧:
出版社:清华大学出版社
简介

本书以目前PHP的较新版本PHP 5.0为依托,结合PHP语言特性和实战案例,充分融入了企业开发过程中编程人员遇到的种种核心技术问题的解决方案和编程思想,系统、全面地介绍了PHP语言的基础知识、高级编程技术及应用方向。

书中的内容由浅入深、循序渐进,囊括了PHP基本语法、数组和常用函数、PHP面向对象的编程思想,还包括一些PHP高级特性,并且将一些比较流行的项目融入本书中,如仿记事狗微博系统、Smarty项目、博客管理系统等,使读者在较短的时间内就能够熟练掌握PHP特性和项目实战的方方面面。

本书在讲解的过程中,结合PHP知识点引用了大量的应用案例,并通过源代码一一列举,且每一部分内容都包含详细的注释和技巧提示,有助于初学者理解、把握问题的精髓,将所掌握的技术灵活应用到后期实际的项目开发过程中。

本书适合初学者使用,也可作为广大软件开发人员和编程爱好者的参考用书。

前言

前    言

  PHP(原为Personal Home Page的缩写,现已更名为“PHP: Hypertext Preprocessor”,超文本预处理器)是一种通用的开源脚本语言。PHP吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。

  本书选用了大量的常见案例,将PHP语言特性通过实战代码一一呈现,使读者不用刻意去记忆其中的理论,就可以轻松掌握编程技能。本书的案例代码注释详细,很多部分都通过截图的形式展现出来,让读者一目了然。书中具有代表性的操作通过步骤的形式一步一步地进行引导和讲解,让读者不仅能知其所以然,而且还能编出自己的应用程序,具有较高的实用价值。讲解过程中,还对初学者容易犯的一些错误提供了相应的解决方案和应注意的事项说明或提示。这些错误都是作者在开发和教学过程中实践经验的总结,目的是让读者在最短的时间内,掌握最核心、最实用的技术。

  本书共分为16章,各章节简介如下。

  第1、2章:介绍PHP环境的安装配置、PHP程序的开发过程和PHP语言的基本语法。

  第3章:介绍函数的应用。PHP真正的威力源自于它的函数。

  第4章:介绍一种非常重要的数据类型——数组。

  第5、6章:介绍字符串操作,以及在字符串中占有举足轻重地位的正则表达式。

  第7章:介绍面向对象的程序开发,包括面向对象的编程思想:类和方法、魔术方法等。介绍面向对象的分析与设计思想以及一些常用的设计习惯,对后期编程将会起到一定的指导作用。

  第8章:介绍错误与异常处理。错误与异常处理是PHP语言在健壮性上的体现,建议读者能熟练掌握。

  第9章:介绍PHP文件处理,包括对文件及目录的多种操作,如创建、删除、复制等。

  第10章:介绍PHP文件上传,主要针对文件上传的相关函数进行讲解。

  第11章:介绍PHP的会话机制。会话机制在PHP中用于保存访问中的数据。可以帮助开发者创建更为人性化的程序,增加站点的吸引力。

  第12章:介绍PHP对数据库的相关操作。开发过程中,大量数据被存储在数据库中,因此连接数据库是任何一种语言都必须面对的,希望读者对其中重要的应用和典型技巧能够熟练地掌握。

  第13章:介绍PHP的MVC设计模式。

  第14~16章:介绍仿记事狗微博系统、Smarty项目、博客管理系统。通过多多研究和模仿,相信读者会有意外的发现。

  本书由耿兴隆、张莹、薛玉倩编著,同时参加本书编写的人员还有张新颖、于坤、郑经煜、李红霞、李天志、孙连伟、吴慧龙、胡波、卞志成、肖立君、赵清晨、刘烨、容艳华、尼春雨、王国胜等。

  由于编者水平有限,书中难免有疏漏和不足之处,恳请专家和广大读者指正。

  

  编  者

  

  

  

  

  

  

  

  

  

目录

目    录

 

第1章  PHP简介 1

1.1  PHP概述 2

1.1.1  什么是PHP 2

1.1.2  PHP的特点 2

1.2  Windows下PHP运行环境的搭建 3

1.2.1  安装运行环境 3

1.2.2  集成软件介绍 16

1.2.3  常用开发工具介绍 17

1.2.4  第一个PHP程序 18

1.3  上机练习 18

第2章  PHP的基本语法 19

2.1  PHP的重要符号 20

2.1.1  PHP语言标记 20

2.1.2  PHP代码的注释 22

2.1.3  PHP的空白符 24

2.1.4  PHP的指令分隔符 24

2.2  PHP的数据类型 25

2.2.1  标量数据类型 26

2.2.2  复合数据类型 31

2.2.3  特殊数据类型 32

2.3  数据类型转换 34

2.3.1  隐式转换(自动转换) 34

2.3.2  显式转换(强制转换) 36

2.4  常量与变量 37

2.4.1  常量 37

2.4.2  变量 39

2.4.3  变量的作用域 41

2.4.4  可变变量 44

2.4.5  变量的销毁 45

2.5  PHP的运算符 47

2.5.1  赋值运算符 47

2.5.2  算术运算符 48

2.5.3  比较运算符 50

2.5.4  逻辑运算符 51

2.5.5  按位运算符 51

2.5.6  字符串运算符 52

2.5.7  错误控制运算符 53

2.5.8  其他运算符 53

2.5.9  运算符的优先级 54

2.6  流程控制语句 55

2.6.1  条件控制语句 55

2.6.2  循环控制语句 59

2.6.3  跳转控制语句 62

2.7  上机练习 64

第3章  函数的应用 67

3.1  自定义函数 68

3.1.1  函数定义与调用 68

3.1.2  函数的参数 69

3.1.3  函数返回值 71

3.1.4  变量函数 71

3.1.5  函数的引用 72

3.1.6  递归函数 73

3.2  内置函数 74

3.2.1  日期时间函数 74

3.2.2  数学函数 78

3.2.3  变量相关的函数 79

3.3  包含文件 81

3.3.1  include和require 81

3.3.2  include_once和require_once 82

3.4  上机练习 82

第4章  PHP数组 83

4.1  数组的定义 84

4.1.1  数组的声明 84

4.1.2  数组的分类 85

4.1.3  数组的构造 85

4.2  遍历数组 86

4.3  数组的常用操作 90

4.3.1  统计数组元素个数 90

4.3.2  数组与字符串的转换 91

4.3.3  数组的查找 93

4.3.4  数组的排序 94

4.3.5  数组的拆分与合并 97

4.4  PHP预定义数组 99

4.5  上机练习 100

第5章  字符串操作 101

5.1  认识字符串 102

5.2 字符串表示形式 102

5.3  字符串常用操作 103

5.3.1  字符串连接 103

5.3.2  获取字符串长度 104

5.3.3  去掉字符串的首尾空格

和特殊字符 104

5.3.4  大小写转换 105

5.3.5  字符串截取 106

5.3.6  字符串查找 107

5.3.7  字符串替换 107

5.4  上机练习 108

第6章  正则表达式 109

6.1  什么是正则表达式 110

6.1.1  正则表达式简介 110

6.1.2  PHP中正则表达式的作用 110

6.2  正则表达式的基础语法 110

6.2.1  元字符 111

6.2.2  模式修正符 112

6.3  POSIX扩展正则表达式函数 113

6.3.1  字符串匹配函数——ereg()

和eregi() 113

6.3.2  字符串替换函数——

ereg_replace()和

eregi_replace() 113

6.3.3  字符串拆分函数——split()

和spliti() 114

6.4  Perl兼容正则表达式函数 115

6.4.1  对数组查询匹配函数——

preg_grep() 116

6.4.2  字符串匹配函数preg_match()

和preg_match_all() 117

6.4.3  转义特殊字符函数——

preg_quote() 118

6.4.4  搜索和替换函数——

preg_replace() 118

6.4.5  字符串拆分函数——

preg_split() 120

6.5  测试正则表达式 120

6.5.1  RegexBuddy 120

6.5.2  JavaScript正则表达式在线

测试工具 121

6.6  上机练习 121

第7章  面向对象的程序开发 123

7.1  面向对象的概念 124

7.2  类和对象 124

7.2.1  类和对象的关系 124

7.2.2  类中的属性 125

7.2.3  类中的方法 128

7.2.4  构造方法 130

7.2.5  析构函数与PHP的垃圾回收

机制 131

7.3  继承 132

7.3.1  怎样继承一个类 133

7.3.2  修饰符的使用 135

7.3.3  重写 136

7.3.4  parent::关键字 139

7.3.5  重载 140

7.4  高级特性 142

7.4.1  静态属性和方法 142

7.4.2  final类和方法 145

7.4.3  常量属性 147

7.4.4  abstract类和方法 147

7.5  接口 149

7.6  PHP 5中的魔术方法 150

7.6.1  __set方法 151

7.6.2  __get方法 152

7.6.3  __call方法 153

7.6.4  __toString方法 154

7.7  上机练习 154

第8章  错误和异常处理 157

8.1  PHP的错误处理机制 158

8.2  自定义错误处理 160

8.3  PHP异常处理 162

8.3.1  异常的抛出与捕获 162

8.3.2  基本异常(Exception)类

介绍 163

8.3.3  自定义异常 164

8.3.4  捕获多个异常 165

8.4  上机练习 166

第9章  PHP文件处理 167

9.1  查看文件和 168

9.1.1  查看文件名称 168

9.1.2  显示名称 168

9.1.3  查看文件真实 169

9.2  查看文件信息 169

9.2.1  显示文件类型 169

9.2.2  显示文件访问与修改时间 170

9.2.3  获取文件权限 171

9.3  操作 171

9.3.1  创建 171

9.3.2  打开 172

9.3.3  关闭 173

9.3.4  读取 173

9.3.5  删除 173

9.4  操作文件 174

9.4.1  打开文件/关闭文件 174

9.4.2  读取文件 175

9.4.3  写入文件 178

9.4.4  删除文件 179

9.4.5  复制文件 179

9.4.6  移动文件和重命名文件 180

9.5  小结 180

9.6  综合练习 181

第10章  PHP文件上传 183

10.1  文件上传的基本知识 184

10.1.1  文件上传种类 184

10.1.2  表单特性 184

10.2  全局变量$_FILES 185

10.3  单文件上传 185

10.4  多文件上传 188

10.5  综合练习 189

10.6  小结 192

第11章  PHP的会话机制 193

11.1  通过Session和Cookie实现会话

 处理 194

11.2  使用Session 194

11.2.1  什么是Session 194

11.2.2  Session的常用函数 194

11.2.3  Session的生命周期 197

11.2.4  使用Session控制PHP页面

 缓存 197

11.2.5  Session的安全问题 198

11.3  使用Cookie 199

11.3.1  什么是Cookie 199

11.3.2  Cookie的工作机制 200

11.3.3  Cookie的创建与销毁 200

11.3.4  PHP中怎样获取Cookie 203

11.4  使用Session和Cookie时应注意的

 问题 203

11.5  综合练习 204

11.6  小结 205

第12章  PHP操作MySQL数据库 207

12.1  数据库的访问 208

12.1.1  连接MySQL服务器 208

12.1.2  关闭MySQL连接 208

12.1.3  选择MySQL数据库 209

12.1.4  执行SQL语句 209

12.1.5  处理查询结果集 210

12.1.6  SQL语句的基本使用 213

12.1.7  MySQL用户的创建

 与授权 217

12.2  数据库的操作 220

12.2.1  获取服务器上的所有

 数据库 220

12.2.2  获取数据库内的表 221

12.2.3  获取数据表的字段信息 221

12.2.4  获取错误信息 222

12.2.5  两个小应用 222

12.3  PHP操作MySQL数据库 225

12.3.1  添加留言信息 225

12.3.2  分页显示留言信息 228

12.3.3  查询单条留言的详细信息 230

12.3.4  编辑留言信息 231

12.3.5  删除留言信息 233

12.4  小结 234

12.5  上机练习 234

第13章  PHP MVC程序设计 237

13.1  MVC简介 238

13.1.1  模型 238

13.1.2  视图 238

13.1.3  控制器 238

13.2  使用MVC开发微博项目 238

13.2.1  需求分析 238

13.2.2  用例图 239

13.2.3  数据库结构 239

13.2.4  项目及数据库搭建 240

13.3  Smarty简介 261

13.4  Smarty的安装与配置 262

13.4.1  Smarty的安装 263

13.4.2  Smarty的配置 264

13.4.3  第一个Smarty程序 266

13.5  Smarty的使用步骤 267

13.6  Smarty变量 269

13.6.1  在模板中输出PHP分配的

 变量 269

13.6.2  模板中输出PHP分配的

 变量 271

13.6.3  变量调节器 272

13.6.4  Smarty中变量的使用 278

13.6.5  Smarty中流程控制语句的

 使用 279

13.6.6  开启缓存 279

13.6.7  设置缓存生命周期 280

13.7  流程控制 281

13.7.1  条件选择结构if-else 281

13.7.2  foreach语句 282

13.7.3  section 284

13.8  Smarty的缓存处理 285

13.8.1  在Smarty中控制缓存 285

13.8.2  一个页面多个缓存 286

13.8.3  为缓存实例消除处理开销 287

13.8.4  清除缓存 288

13.8.5  关闭局部缓存 288

13.9  综合练习 290

13.10  小结 305

第14章  仿记事狗微博项目 307

14.1  系统概述 308

14.2  需求分析 308

14.3  开发环境 308

14.4  数据库结构 308

14.5  项目的开发 310

14.5.1  用户注册 310

14.5.2  用户登录 314

14.5.3  首页显示 315

14.6  总结 328

第15章  Smarty项目 329

15.1  系统概述 330

15.2  需求分析 330

15.3  开发环境 330

15.4  数据库结构 330

15.5  后台功能的实现 332

15.5.1  管理用户登录 332

15.5.2  后台主界面 334

15.5.3  景点列表页面 335

15.5.4  景点列表的编辑 338

15.5.5  景点信息的添加 340

15.6  前台界面 343

15.6.1  前台首页面 343

15.6.2  杭州旅游的主页 347

15.6.3  景点大全 353

15.7  总结 358

15.8  上机练习 358

第16章  博客管理系统(Apache

 +PHP+MySQL实现) 359

16.1  需求分析 360

16.2  系统设计 360

16.2.1  系统功能结构 360

16.2.2  系统流程图 361

16.2.3  开发环境 361

16.2.4  文件夹的组织结构 362

16.3  数据库设计 362

16.3.1  数据库概念设计 362

16.3.2  数据库物理结构设计 363

16.4  首页设计 364

16.4.1  首页技术分析 365

16.4.2  首页的实现过程 365

16.5  博文管理模块的设计 370

16.5.1  博文管理模块的技术

 分析 370

16.5.2  添加博文的实现过程 372

16.5.3  博文列表的实现过程 373

16.5.4  查看博文、评论的实现

 过程 377

16.5.5  删除文章、评论的实现

 过程 383

16.6  图片上传模块的设计 384

16.6.1  图片上传模块的技术分析 384

16.6.2  图片上传的实现过程 385

16.6.3  图片浏览与删除的实现

 过程 386

16.7  朋友圈模块设计 392

16.7.1  朋友圈模块技术分析 392

16.7.2  查询好友的实现过程 393

16.8  本章总结 398

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个