在近几年中,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关注「小小后端」公众年夜众号回答「628384」获取