PHP应用开发与实践
PHP应用开发与实践
1 初识PHP
1.1 PHP概况
1.1.1 什么是PHP
1.1.2 PHP版本
1.1.3 PHP的应用领域
1.1.4 PHP5的新特性
1.2 PHP脚本程序工作流程
1.2.1 Web浏览器
1.2.2 HTML简介
1.2.3 PHP预处理器
1.2.4 Web服务器
1.2.5 数据库服务器
1.2.6 PHP程序的工作流程
1.3 准备PHP的开发条件
1.3.1 下载PHP及相关软件
1.3.2 代码编辑工具
1.3.3 下载PHP用户手册
2 PHP环境搭建与开发工具
2.1 AppServ——Windows版PHP集成化安装包
2.2 WAMP安装与配置
2.2.1 Apache的获取与安装
2.2.2 PHP的获取与安装
2.2.3 MySQL的获取与安装
2.2.4 环境配置与测试
2.3 PHP开发环境的关键配置信息
2.3.1 Apache服务器的基本配置
2.3.2 PHP.INI文件的基本配置
2.4 解决PHP的常见配置问题
2.4.1 解决Apache服务器端口冲突
2.4.2 设置PHP的系统当前时间
2.4.3 增加PHP扩展模块
2.5 Dreamweaver开发工具
2.5.1 Dreamweaver中编码格式的选择
2.5.2 Dreamweaver创建表格
2.5.3 Dreamweaver创建表单
2.5.4 Dreamweaver创建站点
2.5.5 Dreamweaver创建第一个PHP程序
2.6 综合实例——输出一个漂亮的图片
3 PHP开发基础
3.1 PHP标记
3.2 编码规范
3.2.1 书写规范
3.2.2 命名规范
3.3 学习运用代码注释
3.3.1 使用PHP注释
3.3.2 有效使用注释
3.4 PHP常量
3.4.1 声明和使用常量
3.4.2 预定义常量
3.5 PHP变量
3.5.1 声明变量
3.5.2 变量赋值
3.5.3 变量作用域
3.5.4 可变变量
3.6 PHP数据类型
3.6.1 标量数据类型
3.6.2 复合数据类型
3.6.3 特殊数据类型
3.6.4 转换数据类型
3.6.5 检测数据类型
3.7 PHP运算符
3.7.1 算术运算符
3.7.2 字符串运算符
3.7.3 赋值运算符
3.7.4 位运算符
3.7.5 递增或递减运算符
3.7.6 逻辑运算符
3.7.7 比较运算符
3.7.8 三元运算符
3.7.9 运算符的使用规则
3.8 综合实例——比较某一天的产品销量
4 PHP流程控制语句
4.1 程序的3种控制结构
4.1.1 顺序结构
4.1.2 选择(分支)结构
4.1.3 循环结构
4.2 条件控制语句
4.2.1 if条件控制语句
4.2.2 switch多分支语句
4.3 循环控制语句
4.3.1 while循环语句
4.3.2 do…while循环语句
4.3.3 for循环语句
4.3.4 foreach循环语句
4.4 跳转语句
4.4.1 break跳转语句
4.4.2 continue跳转语句
4.5 包含语句
4.5.1 include()语句
4.5.2 require()语句
4.5.3 include_once()语句
4.5.4 require_once()语句
4.5.5 include()语句和require()语句的区别
4.6 综合实例——switch网页框架
5 PHP函数
5.1 PHP函数
5.1.1 定义和调用函数
5.1.2 在函数间传递参数
5.1.3 从函数中返回值
5.1.4 变量函数
5.1.5 对函数的引用
5.1.6 取消引用
5.2 PHP变量函数库
5.3 PHP字符串函数库
5.4 PHP日期时间函数库
5.5 PHP数学函数库
5.6 PHP文件系统函数库
5.7 MySQL函数库
5.8 PHP数组函数库
5.9 综合实例——超长文本的分页输出
6 字符串
6.1 初识字符串
6.2 转义、还原字符串
6.3 截取字符串
6.4 分割、合成字符串
6.5 替换字符串
6.5.1 str_ireplace()函数
6.5.2 substr_replace()函数
6.6 检索字符串
6.6.1 strstr()函数
6.6.2 substr_count()函数
6.7 去掉字符串首尾空格和特殊字符
6.7.1 ltrim()函数
6.7.2 rtrim()函数
6.7.3 trim()函数
6.8 字符串与HTML转换
6.9 综合实例——控制页面中输出字符串的长度
7 数组
7.1 数组概述
7.2 数组类型
7.3 声明数组
7.3.1 用户创建数组
7.3.2 函数创建数组
7.3.3 创建二维数组
7.4 遍历、输出数组
7.4.1 遍历数组
7.4.2 输出数组元素
7.5 PHP数组函数
7.5.1 获取数组中最后一个元素
7.5.2 删除数组中重复元素
7.5.3 获取数组中指定元素的键名
7.5.4 数组键与值的排序
7.5.5 字符串与数组的转换
7.6 PHP的全局数组
7.6.1 $_SERVER[ ]全局数组
7.6.2 $_GET[ ]和$_POST[ ]全局数组
7.6.3 $_COOKIE全局数组
7.6.4 $_ENV[ ]全局数组
7.6.5 $_REQUEST[ ]全局数组
7.6.6 $_SESSION[ ]全局数组
7.6.7 $_FILES[ ]全局数组
7.7 综合实例——多图片上传
8 Web交互
8.1 HTTP基础
8.2 变量
8.3 服务器信息
8.4 表单处理
8.4.1 创建表单
8.4.2 添加表单元素
8.4.3 方法
8.4.4 对参数进行自动引号处理
8.4.5 自处理页面
8.4.6 粘性表单
8.4.7 多值参数
8.4.8 粘性多值参数
8.4.9 表单验证
8.5 设置响应头
8.5.1 不同的内容类型
8.5.2 重定向
8.5.3 设置过期时间
8.5.4 HTTP认证
8.6 综合实例——简易博客
9 MySQL数据库
9.1 MySQL概述
9.1.1 MySQL的特点
9.1.2 SQL和MySQL
9.2 MySQL服务器的启动和关闭
9.2.1 启动MySQL服务器
9.2.2 连接MySQL服务器
9.2.3 关闭MySQL服务器
9.3 操作MySQL数据库
9.3.1 创建新数据库
9.3.2 选择指定数据库
9.3.3 删除指定数据库
9.4 操作MySQL数据表
9.4.1 创建一个表
9.4.2 查看数据表结构
9.4.3 修改数据表结构
9.4.4 重命名数据表
9.4.5 删除指定数据表
9.5 操作MySQL数据
9.5.1 向数据表中添加数据(INSERT)
9.5.2 更新数据表中数据(UPDATE)
9.5.3 删除数据表中数据(DELETE)
9.5.4 查询数据表中数据
9.6 MySQL数据库备份和恢复
9.6.1 数据的备份
9.6.2 数据恢复
9.7 MySQL数据类型
9.7.1 数字类型
9.7.2 字符串类型
9.7.3 日期和时间数据类型
9.8 phpMyAdmin 图形化管理工具
9.8.1 管理数据库
9.8.2 管理数据表
9.8.3 管理数据记录
9.8.4 导入/导出数据
9.9 综合实例——MySQL的存储过程
10 PHP数据库编程
10.1 PHP操作MySQL数据库的步骤
10.2 PHP操作MySQL数据库的函数
10.2.1 mysql_connect()函数连接MySQL服务器
10.2.2 mysql_select_db()函数选择MySQL数据库
10.2.3 mysql_query()函数执行SQL语句
10.2.4 mysql_fetch_array()函数将结果集返回到数组中
10.2.5 mysql_fetch_row()函数从结果集中获取一行作为枚举数组
10.2.6 mysql_num_rows()函数获取查询结果集中的记录数
10.3 管理 MySQL 数据库中的数据
10.3.1 使用Insert语句动态添加公告信息
10.3.2 使用Select语句查询公告信息
10.3.3 使用update语句动态编辑公告信息
10.3.4 使用Delete语句动态删除公告信息
10.3.5 分页显示公告信息
10.4 综合实例——用户注册
11 Cookie与Session
11.1 Cookie管理
11.1.1 了解Cookie
11.1.2 创建Cookie
11.1.3 读取Cookie
11.1.4 删除Cookie
11.1.5 Cookie的生命周期
11.2 Session管理
11.2.1 了解Session
11.2.2 创建会话
11.2.3 Session设置时间
11.3 Session高级应用
11.3.1 Session临时文件
11.3.2 Session缓存
11.3.3 Session数据库存储
11.4 综合实例——判断用户的操作权限
12 日期和时间
12.1 PHP的时间观念
12.1.1 在php.ini文件中设置时区
12.1.2 通过date_default_timezone_set函数设置时区
12.2 UNIX时间戳
12.2.1 获取任意日期、时间的时间戳
12.2.2 获取当前时间戳
12.2.3 日期、时间转换为UNIX时间戳
12.3 日期和时间处理
12.3.1 格式化日期和时间
12.3.2 获取日期和时间信息
12.3.3 检验日期和时间的有效性
12.4 综合实例——倒计时
13 图形图像处理
13.1 了解GD2函数库
13.2 设置GD2函数库
13.3 常用的图像处理
13.3.1 创建画布
13.3.2 颜色处理
13.3.3 绘制文字
13.3.4 输出图像
13.3.5 销毁图像
13.4 运用Jpgraph类库绘制图像
13.4.1 Jpgraph类库简介
13.4.2 Jpgraph的安装
13.4.3 柱形图分析产品月销售量
13.4.4 折线图分析网站一天内的访问走势
13.4.5 3D饼形图展示各部门不同月份的业绩
13.5 综合实例——GD2函数生成图形验证码
14 文件和目录处理
14.1 基本的文件处理
14.1.1 打开一个文件
14.1.2 读取文件内容
14.1.3 向文件中写入数据
14.1.4 关闭文件指针
14.2 常用目录操作
14.2.1 打开指定目录
14.2.2 读取目录结构
14.2.3 关闭目录指针
14.3 文件上传
14.3.1 相关设置
14.3.2 全局变量$_FILES 应用
14.3.3 文件上传函数
14.3.4 多文件上传
14.3.5 文件下载
14.4综合实例——通过文本文件统计页面访问量
15 面向对象
15.1 一切皆是对象
15.1.1 什么是类
15.1.2 对象的由来
15.1.3 面向对象的特点
15.2 类的声明
15.2.1 类的定义
15.2.2 成员属性
15.2.3 成员方法
15.3 类的实例化
15.3.1 创建对象
15.3.2 访问类中成员
15.3.3 特殊的访问方法——“$this”和“::”
15.3.4 构造方法和析构方法
15.4 面向对象的封装特性
15.4.1 public(公共成员)
15.4.2 private(私有成员)
15.4.3 protected(保护成员)
15.5 面向对象的继承特性
15.5.1 类的继承——extends 关键字
15.5.2 类的继承——parent::关键字
15.5.3 覆盖父类方法
15.6 抽象类和接口
15.6.1 抽象类
15.6.2 接口
15.7 面向对象的多态性
15.7.1 通过继承实现多态
15.7.2 通过接口实现多态
15.8 面向对象的关键字
15.8.1 final关键字
15.8.2 static关键字——声明静态类成员
15.8.3 clone关键字——克隆对象
15.9 面向对象的魔术方法
15.9.1 __set()和__get()方法
15.9.2 __isset()和__unset()方法
15.9.3 __call()方法
15.9.4 __toString()方法
15.9.5 __autoload()方法
15.10 综合实例——封装一个数据库操作类
16 PDO数据库抽象层
16.1 什么是PDO
16.1.1 PDO概述
16.1.2 PDO特点
16.1.3 安装PDO
16.2 PDO 连接数据库
16.2.1 PDO构造函数
16.2.2 DSN 详解
16.3 PDO中执行SQL语句
16.3.1 exec()方法
16.3.2 query()方法
16.3.3 预处理语句——prepare()和execute()
16.4 PDO中获取结果集
16.4.1 fetch()方法
16.4.2 fetchAll()方法
16.4.3 fetchColumn()方法
16.5 PDO中捕获SQL语句中的错误
16.5.1 使用默认模式——PDO::ERRMODE_SILENT
16.5.2 使用警告模式——PDO::ERRMODE_WARNING
16.5.3 使用异常模式——PDO::ERRMODE_ EXCEPTION
16.6 PDO中错误处理
16.6.1 errorCode()方法
16.6.2 errorInfo()方法
16.7 PDO中事务处理
16.8 PDO中存储过程
16.9 综合实例——查询留言内容
17 Smarty模板引擎
17.1 走进Smarty模板引擎
17.1.1 Smarty模板引擎下载
17.1.2 Smarty模板引擎安装
17.1.3 Smarty模板引擎配置
17.1.4 Smarty模板的应用
17.2 Smarty模板设计——静态页处理
17.2.1 基本语法(注释、函数和属性)
17.2.2 Smarty模板设计变量
17.2.3 变量调节器
17.2.4 内建函数(动态文件、模板文件的包含和流程控制语句)
17.2.5 自定义函数
17.2.6 配置文件
17.3 Smarty程序设计——动态文件操作
17.3.1 SMARTY_PATH常量
17.3.2 Smarty程序设计变量
17.3.3 Smarty方法
17.3.4 Smarty缓存
17.4 综合实例——Smarty模板制作后台管理系统主页
18 综合案例——应用Smarty模板开发电子商务网站
18.1 需求分析
18.2 构建开发环境
18.3 系统设计
18.3.1 网站功能结构
18.3.2 系统流程图
18.4 数据库设计
18.4.1 数据库分析
18.4.2 创建数据库与数据表
18.5 搭建系统框架
18.6 公共文件设计
18.6.1 数据库连接、管理和分页类文件
18.6.2 Smarty 模板配置类文件
18.6.3 执行类的实例化文件
18.7 网站主要模块开发
18.7.1 前台首页
18.7.2 登录模块设计
18.7.3 会员信息模块设计
18.7.4 商品展示模块设计
18.7.5 购物车模块设计
18.7.6 收银台模块设计
18.7.7 后台首页设计
18.8 开发技巧与难点分析
18.8.1 解决Ajax 的乱码问题
18.8.2 使用JS脚本获取、输出标签内容
18.8.3 禁用页面缓存
18.8.4 在新窗口中使用session
18.8.5 判断上传文件格式
18.8.6 设置服务器的时间
18.9 发布网站
18.9.1 注册域名
18.9.2 申请空间
18.9.3 将域名解析到服务器
18.9.4 上传网站
19 课程设计——在线论坛
19.1 课程设计目的
19.2 功能描述
19.3 程序业务流程
19.4 数据库设计
19.4.1 数据库概要说明
19.4.2 数据库概念设计
19.4.3 数据库逻辑设计
19.5 实现过程
19.5.1 用户注册
19.5.2 用户登录
19.5.3 帖子分类管理设计
19.5.4 发帖模块设计
19.5.5 回帖模块设计
19.5.6 后台首页设计
19.5.7 栏目管理设计
19.6 调试运行
19.7 课程设计总结
20 课程设计——微博
20.1 课程设计目的
20.2 功能描述
20.3 总体设计
20.3.1 功能结构
20.3.2 系统预览
20.4 数据库设计
20.4.1 数据库设计
20.4.2 数据表设计
20.5 实现过程
20.5.1 用户登录设计
20.5.2 微博首页设计
20.5.3 发布微博设计
20.5.4 微博内容显示设计
20.5.5 微博评论设计
20.6 Ajax无刷新技术专题
20.6.1 Ajax概述
20.6.2 Ajax 的优点
20.6.3 Ajax的工作原理
20.6.4 Ajax的工作流程
20.6.5 Ajax中的核心技术XMLHttpRequest
20.6.6 XMLHttpRequest对象的属性和方法
20.7 课程设计总结
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b2b73e4b0cc44b5b4982a.png)
思维导图在线编辑链接: