注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计PHP学习笔记:从入门到实战

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

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

定 价:¥79.00

作 者: 甘长春 著
出版社: 中国铁道出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787113271305 出版时间: 2020-10-01 包装: 平装
开本: 16开 页数: 字数:  

内容简介

  本书精炼而系统地讲述了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.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.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
错误路径信息 .177
路径信息 .178
5.3 PHP 的异常处理 179
5.3.1 异常的抛出与捕获 .179
5.3.2 基本异常(Exception)类介绍 .181
5.3.3 自定义异常 .181
5.3.4 捕获多个异常 .182
5.4 本章小结 183
第6 章 PHP 操作MySQL 数据库
6.1 PHP 操作MySQL 数据库的基本操作 .184
6.1.1 连接MySQL 服务器 187
6.1.2 选择MySQL 数据库 189
6.1.3 执行SQL 语句 .190
6.1.4 关闭MySQL 数据库服务器的连接 191
6.1.5 处理查询结果集 .192
6.2 获取数据库信息 198
6.2.1 获取服务器所有数据库 .198
6.2.2 获取数据库内的表 .199
6.2.3 获取数据表的字段信息 .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
第7 章 PHP mysqli 扩展与PDO 驱动
7.1 mysqli 扩展 220
7.1.1 mysqli 简介 .220
7.1.2 使用mysqli 扩展访问数据库 221
7.1.3 PHP 通过mysqli 扩展实现对MySQL 数据库的操作 .223
7.1.4 预准备语句 .224
7.1.5 执行多个查询 .226
7.2 使用PDO 访问数据库 227
7.2.1 PDO 连接MySQL 数据库 .228
7.2.2 使用PDO 执行SQL 语句 .229
7.2.3 PDO 对错误的处理 233
7.2.4 PDO 对事务的处理 235
7.2.5 PDO 访问MySQL 数据库总结 .237
7.3 使用ADODB 第三方插件连接数据库 243
7.3.1 使用ADODB 连接数据库 .243
7.3.2 使用ADODB 执行查询 .244
循环输出数据 .246
7.3.3 使用ADODB 执行数据库增、删、改操作 .250
7.3.4 ADODB 公用变量 252
7.3.5 ADODB 中的GetMenu() 和Render() 函数使用方法 254
7.3.6 ADODB 访问MySQL 数据库总结 .257
7.4 PHP 与Oracle 数据库 .263
7.4.1 PHP 通过PDO 驱动连接Oracle 数据库 263
7.4.2 PHP 获取Oracle 数据库存储程序返回值 277
7.5 本章小结 280
第8 章 PHP 与XML 之间的互动
8.1 XML 语法 282
8.1.1 XML 文档结构 .282
8.1.2 使用PHP 创建XML 文档 .283
8.2 使用PHP 的SimpleXML 创建和解析XML .284
8.2.1 使用SimpleXML 把非来自数据库的信息生成XML 文档及解析 285
8.2.2 使用SimpleXML 把来自数据库的信息生成XML 文档及解析 287
8.3 使用PHP 的DOMDocument 创建XML 和解析XML 292
8.3.1 使用DOMDocument 生成XML .292
8.3.2 使用XMLReader 解析XML 为数组并输出 294
8.4 XML 的应用——RSS .295
8.4.1 为什么使用RSS .296
8.4.2 RSS 2.0 中的频道 .296
8.4.3 RSS 2.0 中的项 .297
8.4.4 使用PHP 实现订阅 298
8.4.5 实践案例:使用PHP 动态生成RSS 2.0 XML 300
8.4.6 实践案例:PHP 通过RSS 类动态生成RSS 2.0 XML 304
8.5 本章小结 315
第9 章 PHP 的辅助技术
9.1 PHP 代码优化技术 316
9.1.1 Zend OPcache 316
9.1.2 启用页面压缩技术 .317
9.2 图像处理技术 320
9.2.1 开启GD 库 .321
9.2.2 创建图像 .322
9.2.3 生成图像验证码 .323
9.2.4 产生缩略图 .325
9.3 PHP 调试工具Xdebug 327
9.3.1 Xdebug 安装 .327
9.3.2 Xdebug 基本使用 .333
9.3.3 Xdebug 的特制函数 .334
9.4 PHP 生成PDF 技术 .335
9.4.1 PHP 通过PDFlib 生成PDF 文件 335
9.4.2 PHP 通过FPDF 生成PDF 文件 336
9.4.3 PHP 通过MPDF 生成PDF 文件 345
9.5 PHP 生成Excel 技术 .356
9.5.1 PHPExcel 类库 356
9.5.2 PHP 读/ 写csv 文件364
【示例9-16】输出为下载csv 文件364
【示例9-17】直接生成csv 文件 365
【示例9-18】csv 文件的读取和写入,完全通过数组的方式操作 .366
9.6 PHP MemCache 缓存管理技术.367
9.6.1 memcache 概述368
9.6.2 WAMP 环境——Apache/2.4.37(Win64) php/7.3.1 Memcache 的安装.368
9.6.3 PHP 缓存管理案例(摘自一个应用系统)381
9.7 本章小结385
第10 章 PHP 操作中文分词
10.1 PHP 操作中文分词应用场景386
10.2 PHP 的中文分词(切词)工具387
10.3 MySQL 自身支持的全文检索.390
【示例10-1】通过MySQL 自身提供的MATCH() 函数实现全文检索391
10.4 PHP Sphinx 中文全文检索391
10.4.1 Sphinx 简介391
10.4.2 Sphinx for windows 下载392
10.4.3 Sphinx 的配置393
10.4.4 运行Sphinx398
10.4.5 Sphinx 全文搜索结果匹配模式及搜索语法400
10.4.6 PHP 调用Sphinx402
10.4.7 Sphinx 连接Oracle 的sphinx.conf 配置实例413
10.4.8 Sphinx/searchd 命令参考419
10.4.9 Sphinx/indexer.exe 及searchd.exe 命令总结 421
10.5 PHP Sphinx 索引的即时更新422
10.5.1 sphinx 增量索引设置的说明.422
10.5.2 sphinx 增量索引示例 422
10.5.3 关于索引合并的一些建议427
10.6 PHP Sphinx 分布式索引427
10.6.1 Sphinx 分布式索引原理.427
10.6.2 Sphinx 分布式索引配置428
10.7 PHP Sphinx 实时索引.429
10.8 实践案例:PHP + PHPANALYSIS + Sphinx 实现中文全文检索435

本目录推荐