PHP学习笔记:从入门到实战

PHP学习笔记:从入门到实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-10
版次: 1
ISBN: 9787113271305
定价: 79.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 460页
字数: 700千字
4人买过
  • 本书精炼而系统地讲述了PHP基础语法和基本操作,在此基础上侧重于PHP开发实践的阐述,例如PHP MVC程序设计、PHP错误与异常处理、PHP操作MySQL数据库等,旨在帮助Web开发初级读者系统快速地掌握PHP开发技能,积累实践开发经验。         甘长春老师毕业于北京交通大学电气工程及自动化专业,目前供职于中国铁路北京局集团公司。自从参加工作以来,先后参与了多个铁路应用项目的开发工作,同时也与多家IT企业合作研发数据库架构设计及开发项目。通过这些项目的开发,积累了一定的实践经验,并从中获取了一些数据库开发运维的心得。除此之外,自2014年起,甘长春老师一直在天津大学软件学院从事兼职教学工作,所授课程为Oracle和PHP,教学经验的积累也让他更清晰地明白了如何把一个知识点讲解更清楚,力求引领读者尽快掌握书中所讲内容。 第1章 PHP基本语法

    1.1 PHP的优势与特点 ............................................................................................1

    1.2 PHP脚本运行方式 ............................................................................................2

    1.3 集成化WAMP服务器的配置 ..........................................................................3

    1.3.1 WAMP环境配置 ................................................................................................4

    1.3.2 客户端浏览器与服务器的互动过程 .................................................................8

    1.3.3 Apache、MySQL、PHP三者之间的关系 ......................................................10

    1.4 PHP语法所涉及的标记 ..................................................................................10

    1.4.1 PHP的标记风格 ...............................................................................................10

    1.4.2 PHP与HTML混编 .........................................................................................12

    1.4.3 PHP脚本中的分号(“;”) ..........................................................................14

    1.4.4 空格、换行符及跳格 .......................................................................................14

    1.4.5 PHP中的注释规则及规范 ...............................................................................15

    1.5 PHP数据类型 ..................................................................................................16

    1.5.1 基本数据类型 ...................................................................................................16

    1.5.2 复合数据类型 ...................................................................................................21

    1.5.3 特殊数据类型 ...................................................................................................23

    【示例1-1】判断变量是否为null空值并进一步处理 ............................................24

    1.6 PHP数据类型转换 ..........................................................................................24

    1.6.1 基本转换(自动转换) ...................................................................................25

    1.6.2 强制转换 ...........................................................................................................25

    【示例1-2】 将字符串强制转换为float单精度、int整型、bool布尔、数组

    以及对象等数据类型 .............................................................................25

    1.7 PHP常量与变量 ..............................................................................................27

    1.7.1 定义常量 ...........................................................................................................27

    【示例1-3】使用Define()函数定义常量DEFAULT_PATH ...................................27

    1.7.2 系统预定义常量 ...............................................................................................28

    1.7.3 定义变量 ...........................................................................................................28

    【示例1-4】传值赋值与引用赋值(传址赋值)方式的差异 .................................29

    1.7.4 变量作用域 .......................................................................................................30

    1.7.5 可变变量(嵌套变量) ...................................................................................31

    1.8 PHP 运算符 ......................................................................................................33

    1.8.1 赋值运算符 .......................................................................................................33

    1.8.2 算术运算符 .......................................................................................................33

    1.8.3 比较运算符 .......................................................................................................34

    1.8.4 逻辑运算符 .......................................................................................................35

    1.8.5 位运算符 ...........................................................................................................35

    1.8.6 字符串连接运算符 ...........................................................................................36

    1.8.7 错误控制运算符 ...............................................................................................36

    1.8.8 三元运算符 ......................................................................................................36

    1.8.9 运算符的优先级 ...............................................................................................37

    1.9 PHP 流程控制语句 ..........................................................................................37

    1.9.1 条件控制语句 ...................................................................................................38

    1.9.2 循环控制语句 ...................................................................................................40

    1.9.3 跳转控制语句 ...................................................................................................41

    1.10 PHP 变量的应用场景分析 ............................................................................43

    1.10.1 可变变量与应用场景 .....................................................................................43

    1.10.2 PHP 变量引用(传址)赋值使用场景分析 .................................................46

    1.10.3 PHP 外部超全局变量场景分析 .....................................................................48

    1.10.4 PHP 预定义系统常量场景分析 .....................................................................51

    1.10.5 PHP 变量检测与销毁(删除) .....................................................................52

    【示例1-5】变量检测与销毁(删除) .....................................................................56

    1.10.6 PHP 常量的定义与检测场景分析 .................................................................57

    1.11 本章小结 ........................................................................................................59

    第2 章 PHP 数组

    2.1 数组的声明及类型 ..........................................................................................60

    2.1.1 数组的声明 .......................................................................................................60

    【示例2-1】数组的定义、赋值及取值 .....................................................................61

    2.2.2 数组的类型 .......................................................................................................61

    2.2 数组的构造 ......................................................................................................62

    【示例2-2】二维数组使用 ................................................................................62

    2.3 数组遍历方法 ..................................................................................................62

    2.3.1 使用foreach 循环遍历数组 .............................................................................62

    【示例2-3】使用foreach 遍历数组 ...........................................................................63

    2.3.2 使用list() 函数遍历数组 .................................................................................64

    【示例2-4】使用list() 函数遍历数组 .......................................................................64

    2.4 数组常用操作 ..................................................................................................64

    2.4.1 统计数组元素个数 ...........................................................................................64

    【示例2-5】使用count() 函数统计数组$arr1 和$arr2 的元素个数 ......................64

    2.4.2 数组与字符串的转换 .......................................................................................66

    【示例2-6】过滤敏感字 .............................................................................................66

    【示例2-7】使用implode() 函数将数组转换为字符串 ...........................................68

    2.4.3 数组的查找 .......................................................................................................68

    【示例2-8】在数组中查找元素的键名及键值 .........................................................68

    2.4.4 数组的排序 .......................................................................................................69

    【示例2-9】数组的升序与降序排列 .........................................................................69

    【示例2-10】关联数组按键值及键名并保持键值对应关系 ...................................70

    2.4.5 数组的拆分与合并 ...........................................................................................71

    【示例2-11】数组元素的取出和替换 .......................................................................72

    【示例2-12】两个或两个以上含有相同键与不同键的数组合并 ...........................73

    2.4.6 数组键及键值的判断 .......................................................................................73

    【示例2-13】判断数组键“one”“1”“two”及“2”是否存在 .......................73

    【示例2-14】 通过array_key_exists() 函数测试数组键是否存在,通过empty() 和isset() 测试数组键的键值是否存在 .................................74

    2.4.7 数组元素的检索 ...............................................................................................75

    【示例2-15】使用in_array() 函数在数组array 中搜索指定的value 值 ................75

    【示例2-16】 使用array_key_exists() 函数判断某个数组array 中是否存在

    指定的key(键) ................................................................................76

    【示例2-17】 使用array_search() 函数在数组中查找一个键值,若找到则

    返回键名;如果未找到则返回false ..................................................76

    2.4.8 数组元素的过滤 ...............................................................................................76

    【示例2-18】 使用array_filter() 函数过滤空数组,所有为false 的元素将会被移除 ...........................................................................................77

    【示例2-19】使用array_filter() 函数去掉多维空值,而数组的下标没有改变 ....77

    【示例2-20】 使用foreach() 语句及unset() 函数去掉数组的空值,而数组的下标没有改变 .......................................................................................78

    【示例2-21】 使用for() 语句及unset() 函数去掉数组的空值,而数组的下标没有改变 ...............................................................................................78

    2.4.9 将数组分配到符号表 .......................................................................................79

    【示例2-22】 使用关联数组,将键值”Cat””Dog”和”Horse”赋值给变量$a1、$b1 和$c1 ..........................................................................80

    【示例2-23】使用索引数组,变量名前缀为“gcc” .............................................80

    2.4.10 PHP 数组的出栈与入栈 .................................................................................81

    【示例2-24】 在给定一个数组的3 个元素中,移除最后一个元素(索引最大的元素)并返回这个被移除的元素值 .......................................81

    2.5 PHP 预定义数组 ..............................................................................................83

    2.5.1 $_SERVER[] 数组 ............................................................................................84

    2.5.2 $GLOBALS[] 数组 ...........................................................................................86

    【示例2-25】 函数内通过Global 声明全局变量与$GLOBALS[] 调用外部

    变量 .......................................................................................................86

    2.5.3 $_ENV[] 数组 ...................................................................................................87

    2.6 本章小结 ..........................................................................................................88

    第3 章 面向对象的程序开发

    3.1 类和对象 ..........................................................................................................89

    3.1.1 类和对象的定义 ...............................................................................................89

    3.1.2 类的属性解释 ...................................................................................................90

    3.1.3 PHP 的引用变量 ...............................................................................................91

    3.1.4 类的方法 ...........................................................................................................92

    【示例3-1】 在外部访问内部方法传参(实参)个数多于设定的

    参数个数(形参) .................................................................................93

    【示例3-2】 在外部访问内部方法传参(实参)个数多于设定的

    参数个数(形参) .................................................................................93

    3.1.5 构造方法 ...........................................................................................................94

    【示例3-3】实例化类时设定参数值并由构造方法接收 .........................................94

    3.1.6 析构函数与PHP 的垃圾回收机制 ..................................................................94

    3.2 继承类 ..............................................................................................................95

    3.2.1 怎样继承一个类 ...............................................................................................95

    3.2.2 类的属性及方法修饰符的使用 .......................................................................97

    3.2.3 类重写 ...............................................................................................................97

    3.2.4 使用parent:: 关键字 .........................................................................................99

    3.2.5 类方法重载 .....................................................................................................100

    3.3 类特性 ............................................................................................................101

    3.3.1 静态变量和方法 .............................................................................................101

    3.3.2 final 类、final 方法和常量 .............................................................................106

    3.3.3 abstract 类和abstract 方法 .............................................................................107

    3.4 接口 ................................................................................................................108

    3.5 PHP 5 中的魔术方法简介 .................................................................................110

    3.5.1 __set 魔术方法 ................................................................................................110

    3.5.2 __get 魔术方法 ...............................................................................................111

    3.5.3 __call 魔术方法 ..............................................................................................111

    3.5.4 __toString 魔术方法 .......................................................................................112

    3.6 PHP 魔术变量、魔术方法、常规函数以及回调函数的使用 .................... 113

    3.6.1 PHP 魔术变量 .................................................................................................113

    【示例3-4】PHP 命名空间的使用 ..........................................................................116

    3.6.2 PHP 魔术方法使用 .........................................................................................117

    3.6.3 PHP 典型函数的使用 .....................................................................................123

    3.6.4 PHP 函数检测与回调综合运用 .....................................................................128

    3.7 本章小结 ........................................................................................................132

    第4 章 PHP MVC 程序设计

    4.1 MVC 三大核心部件 ......................................................................................133

    4.1.1 数据和规则:模型 .........................................................................................134

    4.1.2 交互界面:视图 .............................................................................................134

    4.1.3 调用返回:控制器 .........................................................................................134

    4.1.4 MVC 优缺点 ...................................................................................................134

    4.2 PHP 模板引擎Smarty 概述 ..........................................................................135

    4.2.1 什么是模板引擎 .............................................................................................135

    4.2.2 Smarty 的优缺点 ............................................................................................136

    4.3 Smarty 的部署与配置 ....................................................................................137

    4.3.1 Smarty 的部署 ................................................................................................138

    4.3.2 Smarty 的配置 ................................................................................................139

    4.3.3 实践案例:替代模板文件中特定的Smarty 变量 .......................................140

    4.4 Smarty 的使用步骤 ........................................................................................143

    4.5 Smarty 变量 ....................................................................................................144

    4.5.1 模板中输出PHP 分配的变量 ........................................................................144

    【示例4-1】使用section 对多维数组进行列表输出,数据源来自定义 .............146

    【示例4-2】 使用section 对多维数组进行列表输出,数据源来自数据库检索并分页显示 ...................................................................................147

    4.5.2 模板中输出非PHP 分配的变量 ....................................................................152

    4.5.3 变量调节器 .....................................................................................................153

    4.6 Smarty 流程控制 ............................................................................................158

    4.6.1 条件选择结构if-else ......................................................................................158

    4.6.2 Smarty 中与数组下标无关的foreach 循环结构 ..........................................159

    4.6.3 Smarty 中与数组下标有关的section 循环结构 ...........................................163

    4.7 Smarty 的缓存处理 ........................................................................................167

    4.7.1 在Smarty 中控制缓存 ...................................................................................167

    4.7.2 一个页面多个缓存 .........................................................................................169

    4.7.3 为缓存实例消除处理开销 .............................................................................169

    4.7.4 清除缓存 .........................................................................................................170

    4.7.5 关闭局部缓存 .................................................................................................171

    4.8 本章小结 ........................................................................................................172

    第5 章 PHP 错误与异常处理

    5.1 PHP 的错误处理机制 ....................................................................................174

    5.2 自定义错误处理 ............................................................................................176

    【示例5-1】 通过trigger error() 函数触发自定义处理函数,但不隐蔽真实

    错误路径信息 .......................................................................................177

    【示例5-2】 通过trigger error() 函数触发自定义处理函数并隐蔽真实错误

    路径信息 ...............................................................................................178

    5.3 PHP 的异常处理 ............................................................................................179

    5.3.1 异常的抛出与捕获 .........................................................................................179

    【示例5-3】 异常被抛出但未被捕获,也未指定set_exception_handler() 函数做相应的处理 .......................................................................................179

    【示例5-4】 异常被抛出未被捕获,但通过指定set_exception_handler() 函数做相应的处理 .......................................................................................180

    【示例5-5】 异常被抛出并被捕获且处理,不需要指定set_exception_handler()函数做相应的处理 ...............................................................................180

    5.3.2 基本异常(Exception)类介绍 .....................................................................181

    5.3.3 自定义异常 .....................................................................................................181

    【示例5-6】 判断非法Email,即如果Email 非法则抛出异常并处理,最后输出处理后的异常信息 .......................................................................182

    5.3.4 捕获多个异常 .................................................................................................182

    【示例5-7】通过接收多个异常来判断Email 是否合法 .......................................182

    5.4 本章小结 ........................................................................................................183

    第6 章 PHP 操作MySQL 数据库

    6.1 PHP 操作MySQL 数据库的基本操作 .........................................................184

    6.1.1 连接MySQL 服务器 ......................................................................................187

    6.1.2 选择MySQL 数据库 ......................................................................................189

    【示例6-1】连接MySQL 数据库服务器后选择要访问的数据库 ........................189

    6.1.3 执行SQL 语句 ...............................................................................................190

    【示例6-2】 执行insert(插入)、update(更新)及select(查询)SQL 语句示例 ......................................................................................190

    6.1.4 关闭MySQL 数据库服务器的连接 ..............................................................191

    6.1.5 处理查询结果集 .............................................................................................192

    【示例6-3】执行查询,获取结果集行数 ...............................................................192

    【示例6-4】 通过获取结果集中的一条记录作为枚举数组逐行获取结果集记录并输出 ...........................................................................................193

    【示例6-5】 通过获取结果集看的一条记录作为关联数组逐行显示查询结果记录 ...............................................................................................194

    【示例6-6】通过获取结果集中的一条记录作为对象逐行显示查询结果记录 .................196

    【示例6-7】 通过获取结果集中的一条记录作为关联和枚举数组逐行显示查询结果记录 .......................................................................................197

    6.2 获取数据库信息 ............................................................................................198

    6.2.1 获取服务器所有数据库 .................................................................................198

    【示例6-8】获取当前MySQL 服务器上的所有数据库 ........................................198

    6.2.2 获取数据库内的表 .........................................................................................199

    【示例6-9】获取jiaowglxt 数据库内的所有表 ......................................................199

    6.2.3 获取数据表的字段信息 .................................................................................200

    【示例6-10】获取数据表cms_ykxt_bmb2 列的相关信息 ....................................200

    6.2.4 获取错误信息 .................................................................................................203

    6.3 实践案例:实现一个留言板的简单管理 ....................................................203

    6.3.1 添加留言信息 .................................................................................................203

    6.3.2 分页显示留言信息 .........................................................................................206

    6.3.3 查询单条留言详细信息 .................................................................................209

    6.3.4 编辑留言信息 .................................................................................................210

    6.3.5 删除留言信息 .................................................................................................212

    6.3.6 案例部分截图 .................................................................................................212

    6.4 PHP 获取MySQL 数据库存储程序的输出(out)参数值 ........................214

    6.4.1 PHP(PDO 驱动)获取MySQL 存储过程的out 参数值 ..........................215

    6.4.2 PHP(PDO 驱动)获取MySQL 数据库存储函数的返回值 ......................216

    6.4.3 PHP(mysqli 驱动)获取MySQL 存储过程的out 参数值 ........................217

    6.4.4 PHP(mysqli 驱动)获取MySQL 存储函数的返回值 ...............................218

    6.5 本章小结 ........................................................................................................219
  • 内容简介:
    本书精炼而系统地讲述了PHP基础语法和基本操作,在此基础上侧重于PHP开发实践的阐述,例如PHP MVC程序设计、PHP错误与异常处理、PHP操作MySQL数据库等,旨在帮助Web开发初级读者系统快速地掌握PHP开发技能,积累实践开发经验。
  • 作者简介:
            甘长春老师毕业于北京交通大学电气工程及自动化专业,目前供职于中国铁路北京局集团公司。自从参加工作以来,先后参与了多个铁路应用项目的开发工作,同时也与多家IT企业合作研发数据库架构设计及开发项目。通过这些项目的开发,积累了一定的实践经验,并从中获取了一些数据库开发运维的心得。除此之外,自2014年起,甘长春老师一直在天津大学软件学院从事兼职教学工作,所授课程为Oracle和PHP,教学经验的积累也让他更清晰地明白了如何把一个知识点讲解更清楚,力求引领读者尽快掌握书中所讲内容。
  • 目录:
    第1章 PHP基本语法

    1.1 PHP的优势与特点 ............................................................................................1

    1.2 PHP脚本运行方式 ............................................................................................2

    1.3 集成化WAMP服务器的配置 ..........................................................................3

    1.3.1 WAMP环境配置 ................................................................................................4

    1.3.2 客户端浏览器与服务器的互动过程 .................................................................8

    1.3.3 Apache、MySQL、PHP三者之间的关系 ......................................................10

    1.4 PHP语法所涉及的标记 ..................................................................................10

    1.4.1 PHP的标记风格 ...............................................................................................10

    1.4.2 PHP与HTML混编 .........................................................................................12

    1.4.3 PHP脚本中的分号(“;”) ..........................................................................14

    1.4.4 空格、换行符及跳格 .......................................................................................14

    1.4.5 PHP中的注释规则及规范 ...............................................................................15

    1.5 PHP数据类型 ..................................................................................................16

    1.5.1 基本数据类型 ...................................................................................................16

    1.5.2 复合数据类型 ...................................................................................................21

    1.5.3 特殊数据类型 ...................................................................................................23

    【示例1-1】判断变量是否为null空值并进一步处理 ............................................24

    1.6 PHP数据类型转换 ..........................................................................................24

    1.6.1 基本转换(自动转换) ...................................................................................25

    1.6.2 强制转换 ...........................................................................................................25

    【示例1-2】 将字符串强制转换为float单精度、int整型、bool布尔、数组

    以及对象等数据类型 .............................................................................25

    1.7 PHP常量与变量 ..............................................................................................27

    1.7.1 定义常量 ...........................................................................................................27

    【示例1-3】使用Define()函数定义常量DEFAULT_PATH ...................................27

    1.7.2 系统预定义常量 ...............................................................................................28

    1.7.3 定义变量 ...........................................................................................................28

    【示例1-4】传值赋值与引用赋值(传址赋值)方式的差异 .................................29

    1.7.4 变量作用域 .......................................................................................................30

    1.7.5 可变变量(嵌套变量) ...................................................................................31

    1.8 PHP 运算符 ......................................................................................................33

    1.8.1 赋值运算符 .......................................................................................................33

    1.8.2 算术运算符 .......................................................................................................33

    1.8.3 比较运算符 .......................................................................................................34

    1.8.4 逻辑运算符 .......................................................................................................35

    1.8.5 位运算符 ...........................................................................................................35

    1.8.6 字符串连接运算符 ...........................................................................................36

    1.8.7 错误控制运算符 ...............................................................................................36

    1.8.8 三元运算符 ......................................................................................................36

    1.8.9 运算符的优先级 ...............................................................................................37

    1.9 PHP 流程控制语句 ..........................................................................................37

    1.9.1 条件控制语句 ...................................................................................................38

    1.9.2 循环控制语句 ...................................................................................................40

    1.9.3 跳转控制语句 ...................................................................................................41

    1.10 PHP 变量的应用场景分析 ............................................................................43

    1.10.1 可变变量与应用场景 .....................................................................................43

    1.10.2 PHP 变量引用(传址)赋值使用场景分析 .................................................46

    1.10.3 PHP 外部超全局变量场景分析 .....................................................................48

    1.10.4 PHP 预定义系统常量场景分析 .....................................................................51

    1.10.5 PHP 变量检测与销毁(删除) .....................................................................52

    【示例1-5】变量检测与销毁(删除) .....................................................................56

    1.10.6 PHP 常量的定义与检测场景分析 .................................................................57

    1.11 本章小结 ........................................................................................................59

    第2 章 PHP 数组

    2.1 数组的声明及类型 ..........................................................................................60

    2.1.1 数组的声明 .......................................................................................................60

    【示例2-1】数组的定义、赋值及取值 .....................................................................61

    2.2.2 数组的类型 .......................................................................................................61

    2.2 数组的构造 ......................................................................................................62

    【示例2-2】二维数组使用 ................................................................................62

    2.3 数组遍历方法 ..................................................................................................62

    2.3.1 使用foreach 循环遍历数组 .............................................................................62

    【示例2-3】使用foreach 遍历数组 ...........................................................................63

    2.3.2 使用list() 函数遍历数组 .................................................................................64

    【示例2-4】使用list() 函数遍历数组 .......................................................................64

    2.4 数组常用操作 ..................................................................................................64

    2.4.1 统计数组元素个数 ...........................................................................................64

    【示例2-5】使用count() 函数统计数组$arr1 和$arr2 的元素个数 ......................64

    2.4.2 数组与字符串的转换 .......................................................................................66

    【示例2-6】过滤敏感字 .............................................................................................66

    【示例2-7】使用implode() 函数将数组转换为字符串 ...........................................68

    2.4.3 数组的查找 .......................................................................................................68

    【示例2-8】在数组中查找元素的键名及键值 .........................................................68

    2.4.4 数组的排序 .......................................................................................................69

    【示例2-9】数组的升序与降序排列 .........................................................................69

    【示例2-10】关联数组按键值及键名并保持键值对应关系 ...................................70

    2.4.5 数组的拆分与合并 ...........................................................................................71

    【示例2-11】数组元素的取出和替换 .......................................................................72

    【示例2-12】两个或两个以上含有相同键与不同键的数组合并 ...........................73

    2.4.6 数组键及键值的判断 .......................................................................................73

    【示例2-13】判断数组键“one”“1”“two”及“2”是否存在 .......................73

    【示例2-14】 通过array_key_exists() 函数测试数组键是否存在,通过empty() 和isset() 测试数组键的键值是否存在 .................................74

    2.4.7 数组元素的检索 ...............................................................................................75

    【示例2-15】使用in_array() 函数在数组array 中搜索指定的value 值 ................75

    【示例2-16】 使用array_key_exists() 函数判断某个数组array 中是否存在

    指定的key(键) ................................................................................76

    【示例2-17】 使用array_search() 函数在数组中查找一个键值,若找到则

    返回键名;如果未找到则返回false ..................................................76

    2.4.8 数组元素的过滤 ...............................................................................................76

    【示例2-18】 使用array_filter() 函数过滤空数组,所有为false 的元素将会被移除 ...........................................................................................77

    【示例2-19】使用array_filter() 函数去掉多维空值,而数组的下标没有改变 ....77

    【示例2-20】 使用foreach() 语句及unset() 函数去掉数组的空值,而数组的下标没有改变 .......................................................................................78

    【示例2-21】 使用for() 语句及unset() 函数去掉数组的空值,而数组的下标没有改变 ...............................................................................................78

    2.4.9 将数组分配到符号表 .......................................................................................79

    【示例2-22】 使用关联数组,将键值”Cat””Dog”和”Horse”赋值给变量$a1、$b1 和$c1 ..........................................................................80

    【示例2-23】使用索引数组,变量名前缀为“gcc” .............................................80

    2.4.10 PHP 数组的出栈与入栈 .................................................................................81

    【示例2-24】 在给定一个数组的3 个元素中,移除最后一个元素(索引最大的元素)并返回这个被移除的元素值 .......................................81

    2.5 PHP 预定义数组 ..............................................................................................83

    2.5.1 $_SERVER[] 数组 ............................................................................................84

    2.5.2 $GLOBALS[] 数组 ...........................................................................................86

    【示例2-25】 函数内通过Global 声明全局变量与$GLOBALS[] 调用外部

    变量 .......................................................................................................86

    2.5.3 $_ENV[] 数组 ...................................................................................................87

    2.6 本章小结 ..........................................................................................................88

    第3 章 面向对象的程序开发

    3.1 类和对象 ..........................................................................................................89

    3.1.1 类和对象的定义 ...............................................................................................89

    3.1.2 类的属性解释 ...................................................................................................90

    3.1.3 PHP 的引用变量 ...............................................................................................91

    3.1.4 类的方法 ...........................................................................................................92

    【示例3-1】 在外部访问内部方法传参(实参)个数多于设定的

    参数个数(形参) .................................................................................93

    【示例3-2】 在外部访问内部方法传参(实参)个数多于设定的

    参数个数(形参) .................................................................................93

    3.1.5 构造方法 ...........................................................................................................94

    【示例3-3】实例化类时设定参数值并由构造方法接收 .........................................94

    3.1.6 析构函数与PHP 的垃圾回收机制 ..................................................................94

    3.2 继承类 ..............................................................................................................95

    3.2.1 怎样继承一个类 ...............................................................................................95

    3.2.2 类的属性及方法修饰符的使用 .......................................................................97

    3.2.3 类重写 ...............................................................................................................97

    3.2.4 使用parent:: 关键字 .........................................................................................99

    3.2.5 类方法重载 .....................................................................................................100

    3.3 类特性 ............................................................................................................101

    3.3.1 静态变量和方法 .............................................................................................101

    3.3.2 final 类、final 方法和常量 .............................................................................106

    3.3.3 abstract 类和abstract 方法 .............................................................................107

    3.4 接口 ................................................................................................................108

    3.5 PHP 5 中的魔术方法简介 .................................................................................110

    3.5.1 __set 魔术方法 ................................................................................................110

    3.5.2 __get 魔术方法 ...............................................................................................111

    3.5.3 __call 魔术方法 ..............................................................................................111

    3.5.4 __toString 魔术方法 .......................................................................................112

    3.6 PHP 魔术变量、魔术方法、常规函数以及回调函数的使用 .................... 113

    3.6.1 PHP 魔术变量 .................................................................................................113

    【示例3-4】PHP 命名空间的使用 ..........................................................................116

    3.6.2 PHP 魔术方法使用 .........................................................................................117

    3.6.3 PHP 典型函数的使用 .....................................................................................123

    3.6.4 PHP 函数检测与回调综合运用 .....................................................................128

    3.7 本章小结 ........................................................................................................132

    第4 章 PHP MVC 程序设计

    4.1 MVC 三大核心部件 ......................................................................................133

    4.1.1 数据和规则:模型 .........................................................................................134

    4.1.2 交互界面:视图 .............................................................................................134

    4.1.3 调用返回:控制器 .........................................................................................134

    4.1.4 MVC 优缺点 ...................................................................................................134

    4.2 PHP 模板引擎Smarty 概述 ..........................................................................135

    4.2.1 什么是模板引擎 .............................................................................................135

    4.2.2 Smarty 的优缺点 ............................................................................................136

    4.3 Smarty 的部署与配置 ....................................................................................137

    4.3.1 Smarty 的部署 ................................................................................................138

    4.3.2 Smarty 的配置 ................................................................................................139

    4.3.3 实践案例:替代模板文件中特定的Smarty 变量 .......................................140

    4.4 Smarty 的使用步骤 ........................................................................................143

    4.5 Smarty 变量 ....................................................................................................144

    4.5.1 模板中输出PHP 分配的变量 ........................................................................144

    【示例4-1】使用section 对多维数组进行列表输出,数据源来自定义 .............146

    【示例4-2】 使用section 对多维数组进行列表输出,数据源来自数据库检索并分页显示 ...................................................................................147

    4.5.2 模板中输出非PHP 分配的变量 ....................................................................152

    4.5.3 变量调节器 .....................................................................................................153

    4.6 Smarty 流程控制 ............................................................................................158

    4.6.1 条件选择结构if-else ......................................................................................158

    4.6.2 Smarty 中与数组下标无关的foreach 循环结构 ..........................................159

    4.6.3 Smarty 中与数组下标有关的section 循环结构 ...........................................163

    4.7 Smarty 的缓存处理 ........................................................................................167

    4.7.1 在Smarty 中控制缓存 ...................................................................................167

    4.7.2 一个页面多个缓存 .........................................................................................169

    4.7.3 为缓存实例消除处理开销 .............................................................................169

    4.7.4 清除缓存 .........................................................................................................170

    4.7.5 关闭局部缓存 .................................................................................................171

    4.8 本章小结 ........................................................................................................172

    第5 章 PHP 错误与异常处理

    5.1 PHP 的错误处理机制 ....................................................................................174

    5.2 自定义错误处理 ............................................................................................176

    【示例5-1】 通过trigger error() 函数触发自定义处理函数,但不隐蔽真实

    错误路径信息 .......................................................................................177

    【示例5-2】 通过trigger error() 函数触发自定义处理函数并隐蔽真实错误

    路径信息 ...............................................................................................178

    5.3 PHP 的异常处理 ............................................................................................179

    5.3.1 异常的抛出与捕获 .........................................................................................179

    【示例5-3】 异常被抛出但未被捕获,也未指定set_exception_handler() 函数做相应的处理 .......................................................................................179

    【示例5-4】 异常被抛出未被捕获,但通过指定set_exception_handler() 函数做相应的处理 .......................................................................................180

    【示例5-5】 异常被抛出并被捕获且处理,不需要指定set_exception_handler()函数做相应的处理 ...............................................................................180

    5.3.2 基本异常(Exception)类介绍 .....................................................................181

    5.3.3 自定义异常 .....................................................................................................181

    【示例5-6】 判断非法Email,即如果Email 非法则抛出异常并处理,最后输出处理后的异常信息 .......................................................................182

    5.3.4 捕获多个异常 .................................................................................................182

    【示例5-7】通过接收多个异常来判断Email 是否合法 .......................................182

    5.4 本章小结 ........................................................................................................183

    第6 章 PHP 操作MySQL 数据库

    6.1 PHP 操作MySQL 数据库的基本操作 .........................................................184

    6.1.1 连接MySQL 服务器 ......................................................................................187

    6.1.2 选择MySQL 数据库 ......................................................................................189

    【示例6-1】连接MySQL 数据库服务器后选择要访问的数据库 ........................189

    6.1.3 执行SQL 语句 ...............................................................................................190

    【示例6-2】 执行insert(插入)、update(更新)及select(查询)SQL 语句示例 ......................................................................................190

    6.1.4 关闭MySQL 数据库服务器的连接 ..............................................................191

    6.1.5 处理查询结果集 .............................................................................................192

    【示例6-3】执行查询,获取结果集行数 ...............................................................192

    【示例6-4】 通过获取结果集中的一条记录作为枚举数组逐行获取结果集记录并输出 ...........................................................................................193

    【示例6-5】 通过获取结果集看的一条记录作为关联数组逐行显示查询结果记录 ...............................................................................................194

    【示例6-6】通过获取结果集中的一条记录作为对象逐行显示查询结果记录 .................196

    【示例6-7】 通过获取结果集中的一条记录作为关联和枚举数组逐行显示查询结果记录 .......................................................................................197

    6.2 获取数据库信息 ............................................................................................198

    6.2.1 获取服务器所有数据库 .................................................................................198

    【示例6-8】获取当前MySQL 服务器上的所有数据库 ........................................198

    6.2.2 获取数据库内的表 .........................................................................................199

    【示例6-9】获取jiaowglxt 数据库内的所有表 ......................................................199

    6.2.3 获取数据表的字段信息 .................................................................................200

    【示例6-10】获取数据表cms_ykxt_bmb2 列的相关信息 ....................................200

    6.2.4 获取错误信息 .................................................................................................203

    6.3 实践案例:实现一个留言板的简单管理 ....................................................203

    6.3.1 添加留言信息 .................................................................................................203

    6.3.2 分页显示留言信息 .........................................................................................206

    6.3.3 查询单条留言详细信息 .................................................................................209

    6.3.4 编辑留言信息 .................................................................................................210

    6.3.5 删除留言信息 .................................................................................................212

    6.3.6 案例部分截图 .................................................................................................212

    6.4 PHP 获取MySQL 数据库存储程序的输出(out)参数值 ........................214

    6.4.1 PHP(PDO 驱动)获取MySQL 存储过程的out 参数值 ..........................215

    6.4.2 PHP(PDO 驱动)获取MySQL 数据库存储函数的返回值 ......................216

    6.4.3 PHP(mysqli 驱动)获取MySQL 存储过程的out 参数值 ........................217

    6.4.4 PHP(mysqli 驱动)获取MySQL 存储函数的返回值 ...............................218

    6.5 本章小结 ........................................................................................................219
查看详情
12
您可能感兴趣 / 更多
PHP学习笔记:从入门到实战
Oracle数据库从入门到运维实战
甘长春;孟飞
PHP学习笔记:从入门到实战
Oracle数据库存储管理与性能优化
甘长春;张建军
PHP学习笔记:从入门到实战
MySQL数据库管理实战(异步图书出品)
甘长春、孟飞 著