PHP编程入门与应用
1星价
¥25.8
(3.8折)
2星价¥25.2
定价¥68.0
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
图文详情
- ISBN:9787302475248
- 装帧:暂无
- 册数:暂无
- 重量:暂无
- 开本:32开
- 页数:464
- 出版时间:2017-08-01
- 条形码:9787302475248 ; 978-7-302-47524-8
本书特色
在*近的几年中,PHP已经发展成为世界上*为流行的Web平台,它运行在全球超过1/3的Web服务器上。PHP的发展不仅是数量上的,也是质量上的。越来越多的公司,包括全球500强榜上的公司都依靠PHP来运行它们的商业级应用,从而创造了新的就业机会并增加了更多的PHP开发需求。
本书共分14章,主要内容包括PHP环境的搭建、PHP开发工具、变量和常量、运算符与表达式、流程控制、数学函数、字符串搜索和截取、文件读写、文件上传与下载等。在应用方面介绍了PHP获取HTML表单数据,获取Cookie和Session数据,获取数据库数据,获取XML和JSON数据,获取Ajax异步数据等知识。*后一章介绍了常用的几种设计模式在PHP中的实现,如单例模式、工厂方法、适配器模式和状态模式等。
本书可以作为高等院校计算机相关专业PHP语言程序设计课程的教材,也可以作为PHP程序设计的培训教材,还可以作为自学者的参考书。
内容简介
在*近的几年中,PHP已经发展成为世界上*为流行的Web平台,它运行在全球超过1/3的Web服务器上。PHP的发展不仅是数量上的,也是质量上的。越来越多的公司,包括全球500强榜上的公司都依靠PHP来运行它们的商业级应用,从而创造了新的就业机会并增加了更多的PHP开发需求。
本书共分14章,主要内容包括PHP环境的搭建、PHP开发工具、变量和常量、运算符与表达式、流程控制、数学函数、字符串搜索和截取、文件读写、文件上传与下载等。在应用方面介绍了PHP获取HTML表单数据,获取Cookie和Session数据,获取数据库数据,获取XML和JSON数据,获取Ajax异步数据等知识。*后一章介绍了常用的几种设计模式在PHP中的实现,如单例模式、工厂方法、适配器模式和状态模式等。
本书可以作为高等院校计算机相关专业PHP语言程序设计课程的教材,也可以作为PHP程序设计的培训教材,还可以作为自学者的参考书。
目录
第1 章 PHP 入门基础1.1 PHP 简介 ………………………………21.1.1 PHP 发展历史 …………………… 21.1.2 PHP 的优势 ……………………… 31.2 配置PHP 运行环境 ……………………41.2.1 高手带你做——安装Apache …… 41.2.2 高手带你做——配置PHP 5 …… 51.3 查看PHP 配置文件 ……………………81.4 选择PHP 语法风格 ……………………91.4.1 默认标记 ………………………… 91.4.2 ASP 风格标记 …………………… 91.4.3 脚本标记 ……………………… 101.4.4 短标记 ………………………… 101.5 程序注释 …………………………… 121.5.1 单行注释 ……………………… 121.5.2 多行注释 ……………………… 121.6 快速搭建PHP 环境 ………………… 131.6.1 高手带你做——安装WampServer … 131.6.2 高手带你做——安装phpStudy … 151.7 PHP 开发工具 ……………………… 171.7.1 Sublime Text …………………… 171.7.2 PhpStorm ……………………… 191.8 高手带你做——自定义Apache的主目录 …………………………… 211.9 高手带你做——在IIS 上配置PHP环境 ………………………………… 221.10 成长任务 …………………………… 24第2 章 PHP 基础语法2.1 常量 ………………………………… 262.1.1 定义常量 ……………………… 262.1.2 引用常量 ……………………… 262.1.3 const 关键字 …………………… 272.1.4 高手带你做——认识魔术常量 … 282.2 变量 ………………………………… 292.2.1 声明变量 ……………………… 292.2.2 变量赋值 ……………………… 302.2.3 可变变量 ……………………… 312.2.4 变量的作用域 ………………… 322.2.5 变量销毁 ……………………… 352.2.6 高手带你做——超级全局变量 … 352.3 数据类型 …………………………… 362.3.1 标量数据类型 ………………… 362.3.2 复合数据类型 ………………… 402.3.3 特殊数据类型 ………………… 412.4 数据类型转换 ……………………… 432.4.1 强制类型转换 ………………… 432.4.2 自动类型转换 ………………… 452.4.3 数据类型函数 ………………… 462.5 运算符 ……………………………… 472.5.1 算术运算符 …………………… 472.5.2 赋值运算符 …………………… 482.5.3 逻辑运算符 …………………… 482.5.4 比较运算符 …………………… 492.5.5 位运算符 ……………………… 502.5.6 递增与递减运算符 …………… 502.5.7 错误控制运算符 ……………… 512.6 高手带你做——认识条件运算符 …… 522.7 表达式 ……………………………… 532.8 运算符的优先级 …………………… 542.9 PHP 输出函数 ……………………… 552.9.1 echo() 函数 …………………… 552.9.2 print() 函数 …………………… 562.9.3 printf() 函数 …………………… 582.9.4 格式控制 ……………………… 582.9.5 sprintf() 函数 …………………… 602.9.6 高手带你做——考生信息输出 … 612.10 成长任务 …………………………… 62第3 章 流程控制语句3.1 了解算法 …………………………… 643.1.1 算法的定义 …………………… 643.1.2 高手带你做——使用算法求1 到4 的和 ………………… 643.1.3 算法描述方式 ………………… 653.2 顺序结构 …………………………… 683.2.1 语句编写方式 ………………… 683.2.2 空语句 ………………………… 693.2.3 表达式语句 …………………… 693.2.4 复合语句 ……………………… 693.3 if 条件语句 …………………………… 703.3.1 if 语句的语法 ………………… 703.3.2 双条件if 语句 ………………… 723.3.3 多条件if 语句 ………………… 733.3.4 高手带你做——嵌套if 的使用 … 743.4 switch 条件语句 ……………………… 753.4.1 switch 语句的格式 …………… 753.4.2 if 语句和switch 语句的区别 …… 773.4.3 高手带你做——根据出生日期判断星座 ………………… 783.5 循环语句 …………………………… 793.5.1 while 语句 ……………………… 793.5.2 do while 语句 ………………… 803.5.3 for 语句 ………………………… 813.5.4 高手带你做——九九乘法口诀表 … 843.5.5 foreach 语句 …………………… 853.6 其他语句 …………………………… 863.6.1 return 语句 …………………… 873.6.2 break 语句 ……………………… 883.6.3 continue 语句 ………………… 893.6.4 goto 语句 ……………………… 903.7 高手带你做——判断闰年 …………… 913.8 高手带你做——输出杨辉三角形 …… 923.9 成长任务 …………………………… 93第4 章 PHP 函数4.1 用户函数 …………………………… 964.1.1 函数定义的语法结构 ………… 964.1.2 使用函数 ……………………… 974.1.3 函数的返回值 ………………… 974.1.4 按值传递参数 ………………… 984.1.5 按引用传递参数 ……………… 994.1.6 默认值传递参数 ……………… 1004.1.7 可变参数列表 ………………… 1014.1.8 变量、常量与函数 …………… 1024.1.9 高手带你做——判断函数是否存在 ……………………… 1034.2 高手带你做——函数高级应用 ………1034.2.1 递归函数 ……………………… 1044.2.2 嵌套函数 ……………………… 1044.2.3 变量函数 ……………………… 1054.3 变量处理函数 ………………………1064.4 数学函数 ……………………………1064.5 日期和时间函数 ……………………1074.5.1 checkdate() 函数 ……………… 1084.5.2 getdate() 函数 ………………… 1084.5.3 date() 函数 ……………………… 1094.5.4 strtotime() 函数 ………………… 1114.5.5 microtime() 函数 ……………… 1124.5.6 gmdate() 函数 ………………… 1124.5.7 time() 函数 …………………… 1124.6 实战——模拟实现用户系统登录功能 ……………………………1134.7 引用文件的函数 ……………………1144.7.1 include() 函数 ………………… 1154.7.2 require() 函数 ………………… 1164.7.3 include_once() 函数和require_once() 函数 …………… 1184.8 成长任务 ……………………………120第5 章 面向对象编程5.1 面向对象简介 ………………………1225.1.1 对象的概念 …………………… 1225.1.2 抽象性 ………………………… 1225.1.3 封装性 ………………………… 1235.1.4 继承性 ………………………… 1235.1.5 多态性 ………………………… 1245.2 类和对象 ……………………………1255.2.1 高手带你做——认识类和对象 … 1255.2.2 定义类 ………………………… 1265.2.3 实例化类 ……………………… 1275.3 类的成员 ……………………………1275.3.1 常量 …………………………… 1275.3.2 字段 …………………………… 1285.3.3 属性 …………………………… 1315.3.4 方法 …………………………… 1335.4 构造函数和析构函数 ………………1345.4.1 构造函数 ……………………… 1355.4.2 高手带你做——查看个人信息 … 1365.4.3 析构函数 ……………………… 1375.5 作用域关键字 ………………………1385.5.1 abstract 关键字 ………………… 1385.5.2 final 关键字 …………………… 1395.5.3 private 关键字 ………………… 1395.5.4 protected 关键字 ……………… 1405.5.5 public 关键字 ………………… 1415.5.6 static 关键字 …………………… 1425.6 继承 …………………………………1435.6.1 类继承 ………………………… 1435.6.2 构造函数继承 ………………… 1455.6.3 高手带你做——实现图书分类显示 ……………………… 1465.7 PHP 实现接口 ………………………1485.7.1 接口概述 ……………………… 1485.7.2 定义接口 ……………………… 1495.7.3 实现接口 ……………………… 1495.8 成长任务 ……………………………152第6 章 数组的应用6.1 认识数组 ……………………………1546.2 基本操作 ……………………………1556.2.1 通过赋值创建数组 …………… 1556.2.2 使用array() 函数创建数组 …… 1566.2.3 创建多维数组 ………………… 1576.2.4 输出数组内容 ………………… 1596.2.5 测试数组 ……………………… 1606.3 遍历数组 ……………………………1616.3.1 foreach 语句遍历 ……………… 1616.3.2 for 语句遍历 …………………… 1626.3.3 each() 函数遍历 ……………… 1636.3.4 遍历数组的函数 ……………… 1646.4 简单计算 ……………………………1646.4.1 计算元素总数 ………………… 1646.4.2 计算元素出现的频率 ………… 1656.4.3 计算出现的所有元素 ………… 1666.5 元素操作 ……………………………1666.5.1 增加元素 ……………………… 1676.5.2 删除元素 ……………………… 1696.5.3 定位元素 ……………………… 1706.5.4 提取元素 ……………………… 1736.6 数组排序 ……………………………1766.6.1 按值排序 ……………………… 1766.6.2 按键排序 ……………………… 1786.6.3 关联排序 ……………………… 1796.6.4 高手带你做——级联排序 …… 1816.6.5 高手带你做——按先奇后偶的降序排列数组 ……………… 1826.7 其他操作 ……………………………1836.7.1 高手带你做——随机获取元素 … 1836.7.2 联合数组 ……………………… 1846.7.3 合并数组 ……………………… 1856.7.4 拆分数组 ……………………… 1876.7.5 替换数组 ……………………… 1886.7.6 判断数组的类型 ……………… 1896.7.7 查找键名是否存在 …………… 1906.7.8 查找值是否存在 ……………… 1916.7.9 去除重复元素值 ……………… 1926.7.10 高手带你做——数组键名和值调换 ………………………… 1936.8 成长任务 ……………………………194第7 章 字符串应用7.1 字符串简介 …………………………1967.2 定义字符串 …………………………1967.2.1 使用单引号 …………………… 1977.2.2 使用双引号 …………………… 1977.2.3 使用定界符 …………………… 1987.3 高手带你做——连接多个字符串 ……1997.4 统计字符串 …………………………1997.4.1 统计字符串的长度 …………… 2007.4.2 统计字符的出现频率 ………… 2007.4.3 统计单词数量 ………………… 2017.5 操作字符串内容 ……………………2027.5.1 大小写替换 …………………… 2027.5.2 去除空格和特殊字符 ………… 2047.5.3 比较字符串 …………………… 2067.5.4 查找字符串 …………………… 2087.6 操作子字符串 ………………………2107.6.1 分隔字符串 …………………… 2107.6.2 填充字符串 …………………… 2127.6.3 截取字符串 …………………… 2137.6.4 替换字符串 …………………… 2167.7 高手带你做——字符串与HTML 转换 …………………………2187.8 字符串编码 …………………………2227.8.1 高手带你做——认识字符集与编码 ………………………… 2227.8.2 页面编码设置 ………………… 2257.8.3 编码转换 ……………………… 2277.8.4 字符串加密 …………………… 2287.9 成长任务 ……………………………230第8 章 文件处理8.1 查看文件属性信息 ……………………2328.1.1 文件类型 ……………………… 2328.1.2 文件大小 ……………………… 2328.1.3 访问和修改时间 ……………… 2338.1.4 其他属性的获取 ……………… 2348.2 高手带你做——操作文件 ……………2358.2.1 复制文件 ……………………… 2368.2.2 重命名文件 …………………… 2368.2.3 删除文件 ……………………… 2368.3 打开和关闭文件 ……………………2378.3.1 打开文件 ……………………… 2378.3.2 关闭文件 ……………………… 2388.4 读取文件 ………………………………2388.4.1 读取一行 ……………………… 2398.4.2 读取指定字节 ………………… 2428.4.3 读取全部内容 ………………… 2448.4.4 其他读取函数 ………………… 2458.5 写入文件 ………………………………2468.5.1 fwrite() 函数 …………………… 2478.5.2 fputs() 函数 …………………… 2488.5.3 file_put_contents() 函数 ……… 2498.6 高手带你做——认识文件指针 ………2508.6.1 fseek() 函数 …………………… 2518.6.2 ftell() 函数 ……………………… 2518.6.3 rewind() 函数 ………………… 2528.7 操作目录 ……………………………2528.7.1 打开目录 ……………………… 2528.7.2 关闭目录 ……………………… 2538.7.3 遍历目录 ……………………… 2538.7.4 创建目录 ……………………… 2568.7.5 删除目录 ……………………… 2568.8 解析路径 ……………………………2578.8.1 获取文件名 …………………… 2578.8.2 获取目录部分 ………………… 2578.8.3 获取路径中的各个部分 ……… 2578.8.4 获取绝对路径 ………………… 2588.9 读取磁盘属性 ………………………2598.9.1 获取目录所在磁盘的可用空间 ……………………… 2598.9.2 获取磁盘总容量 ……………… 2608.9.3 高手带你做——获取目录占用的空间 …………………… 2608.10 高手带你做——实现项目的新增和保存 ………………………………2628.11 成长任务 ……………………………265第9 章 获取页面数据9.1 认识HTML 表单 ……………………2689.2 制作HTML 表单 ……………………2689.2.1 表单的组成元素 ……………… 2699.2.2 表单标签 ……………………… 2709.2.3 文本框 ………………………… 2709.2.4 多行文本框 …………………… 2719.2.5 隐藏域 ………………………… 2719.2.6 复选框 ………………………… 2729.2.7 单选按钮 ……………………… 2729.2.8 下拉选择框 …………………… 2739.2.9 文件上传框 …………………… 2749.2.10 表单按钮 ……………………… 2749.3 获取表单数据 ………………………2759.3.1 设置表单提交方式 …………… 2769.3.2 获取GET 提交的数据 ………… 2779.3.3 获取POST 提交的数据 ……… 2799.4 表单的常见操作 ……………………2809.4.1 遍历表单 ……………………… 2809.4.2 获取表单中的多值 …………… 2829.4.3 高手带你做——动态生成表单 … 2849.5 高手带你做——表单处理技巧 ………2889.5.1 检测表单提交路径 …………… 2889.5.2 避免表单重复提交 …………… 2909.5.3 表单过期处理 ………………… 2929.6 转换URL 中的汉字 …………………2939.6.1 编码操作 ……………………… 2939.6.2 解码操作 ……………………… 2939.7 文件上传 ……………………………2949.7.1 准备文件上传表单 …………… 2949.7.2 处理上传文件 ………………… 2959.8 文件下载 ……………………………2979.9 高手带你做——身份验证 ……………2999.9.1 HTTP 身份验证 ……………… 2999.9.2 PHP 身份认证 ………………… 3009.10 成长任务 ……………………………303第10 章 会话处理10.1 了解Cookie …………………………30610.1.1 Cookie 简介 ………………… 30610.1.2 Cookie 的工作原理 ………… 30610.1.3 Cookie 的类型和属性 ……… 30710.2 操作Cookie …………………………30810.2.1 创建Cookie ………………… 30810.2.2 读取Cookie ………………… 30910.2.3 设置Cookie 过期时间 ……… 31110.2.4 高手带你做——删除Cookie … 31210.3 高手带你做——实现记住上次登录时间 ……………………………31310.4 了解Session …………………………31610.4.1 Session 简介 ………………… 31610.4.2 Session 的常用函数 ………… 31710.5 操作Session …………………………31810.5.1 获取Session ID ……………… 31810.5.2 读写Session 数据 …………… 31910.5.3 编码Session 数据 …………… 32310.5.4 解码Session 数据 …………… 32410.5.5 删除Session 数据 …………… 32510.5.6 Session 的缓存 ……………… 32610.6 高手带你做——实现购物车 ………32710.7 高手带你做——认识Cookie与Session 的区别 …………………33310.8 成长任务 ……………………………334第11 章 数据库编程11.1 MySQL 数据库 ……………………33611.1.1 安装MySQL 数据库 ………… 33611.1.2 配置MySQL 数据库 ………… 33811.1.3 高手带你做——MySQL快速入门操作 ………………… 34011.2 PHP 连接MySQL 方式 ……………34111.2.1 mysql 库 ……………………… 34211.2.2 mysqli 库 ……………………… 34211.2.3 PDO 库 ……………………… 34311.3 连接MySQL 数据库 ………………34411.3.1 创建连接对象 ………………… 34411.3.2 设置连接选项 ………………… 34511.3.3 测试连接错误 ………………… 34611.3.4 关闭连接 ……………………… 34611.4 基本操作 ……………………………34711.4.1 执行更新语句 ………………… 34811.4.2 mysqli_result 类 ……………… 34911.4.3 fetch_row() 方法 ……………… 35011.4.4 fetch_assoc() 方法 …………… 35111.4.5 fetch_array() 方法 …………… 35211.4.6 fetch_object() 方法 …………… 35311.4.7 获取数据列的信息 …………… 35411.4.8 一次执行多条SQL 命令 …… 35511.5 使用预处理语句 ……………………35711.5.1 mysqli_stmt 类 ……………… 35711.5.2 绑定参数预处理语句 ………… 35811.5.3 绑定结果预处理语句 ………… 36011.6 读取数据库显示乱码解决方案 ……36111.6.1 了解产生乱码的原因 ………… 36111.6.2 PHP 网页的编码 ……………… 36111.6.3 MySQL 数据库的编码 ……… 36211.7 高手带你做——数据分页显示 ……36211.8 高手带你做——数据库事务处理 …36511.9 成长任务 ……………………………368
第12 章 XML 和JSON 处理12.1 XML 简介 …………………………37012.1.1 XML 概述 …………………… 37012.1.2 XML 的基本结构 …………… 37012.1.3 XML 声明 …………………… 37112.1.4 XML 实体 …………………… 37112.1.5 高手带你做——创建水果信息XML 文件 ……………… 37212.1.6 命名空间 ……………………… 37212.2 高手带你做——生成水果信息XML 文件 ……………………………37312.3 XML 解析器 …………………………37412.3.1 DOM 解析XML ……………… 37412.3.2 SAX 解析XML ……………… 37712.3.3 高手带你做——SAX 解析XML 文件 …………………… 38012.3.4 SimpleXML 解析XML ……… 38212.4 高手带你做——管理报表项目信息 …38512.5 高手带你做——JavaScript 读取APP 信息 ……………………………39012.6 处理JSON 格式响应 ………………39312.6.1 JSON 语法 …………………… 39312.6.2 编码JSON 数据 ……………… 39412.6.3 解码JSON 数据 ……………… 39612.7 成长任务 ……………………………397第13 章 PHP 高级编程技术13.1 正则表达式语法 ……………………40013.1.1 正则表达式概述 ……………… 40013.1.2 Perl 风格的正则表达式 ……… 40213.2 PHP 正则表达式的使用 ……………40413.2.1 正则表达式函数 ……………… 40413.2.2 简单匹配 ……………………… 40513.2.3 全局匹配 ……………………… 40613.2.4 获取与模式匹配的数组 ……… 40713.2.5 转义字符 ……………………… 40813.2.6 搜索和替换函数 ……………… 40913.2.7 分割字符串 …………………… 41013.3 高手带你做——校验常见数据 ……41113.4 错误和异常处理 ……………………41313.4.1 PHP 错误级别 ………………… 41313.4.2 配置文件选项 ………………… 41413.4.3 内置处理函数 ………………… 41513.4.4 异常处理语句 ………………… 41913.4.5 高手带你做——自定义异常类 ………………………… 42113.5 Ajax 异步通信 ………………………42213.5.1 Ajax 简介 …………………… 42213.5.2 XMLHttpRequest 对象简介 …… 42313.5.3 高手带你做——读取异步提交的项目信息 ……………… 42513.5.4 高手带你做——读取用户列表 … 42913.5.5 高手带你做——处理JSON … 43113.5.6 高手带你做——Ajax 中文乱码解决方案 ………………… 43213.6 PHP 开发编程规范 …………………43313.6.1 项目结构规范 ………………… 43413.6.2 程序注释 ……………………… 43413.6.3 命名规范 ……………………… 43613.6.4 代码编写规范 ………………… 43713.6.5 包含文件 ……………………… 43913.7 成长任务 ……………………………440第14 章 PHP 设计模式14.1 认识设计模式 ………………………44214.1.1 设计模式简介 ………………… 44214.1.2 设计模式的理解 ……………… 44214.1.3 设计模式的分类 ……………… 44314.1.4 为什么要学习设计模式 ……… 44414.1.5 如何学习设计模式 …………… 44514.1.6 学习设计模式的层次 ………… 44514.1.7 面向对象的设计原则 ………… 44614.2 单例模式 ……………………………44714.3 简单工厂 ……………………………44814.4 工厂方法 ……………………………45214.5 抽象工厂 ……………………………45414.6 适配器模式 …………………………45514.7 外观模式 ……………………………45714.8 观察者模式 …………………………45914.9 状态模式 ……………………………46114.10 不要过度使用设计模式 ……………464
展开全部
作者简介
李鑫,具有多年.NET项目开发经验,深入掌握.NET框架技术,熟练开发ASP.NET与WinForm项目,精通C#、ASP 、C 、VB语言,熟练使用MTS、COM 、Web Service分布式架构。王瑞敬,互联网社区架构师,一个拥有5年软件工程经验和深厚理论基础的软件工程专家,善于解剖和分析问题,使用生动形象的比喻,将复杂的、难于理解的问题与知识简单化讲解。致力于研究、优化Web 2.0系统架构技术,对LAMP体系架构有着丰富的经验,挖掘LAMP架构的性能潜力,探索新型高效能的Web 2.0站点系统支撑平台以及系统集群。
预估到手价 ×
预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。
确定