书刊介绍
《PHP 7从入门到精通(视频教学版)》内容简介
本书循序渐进地介绍了PHP 7开发动态网站的主要知识和技能,提供了大量的PHP应用实例供读者实践。每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能。
全书共23章,分别介绍了PHP 7的基本概念、PHP服务器环境配置、PHP的基本语法、PHP的语言结构、字符串和正则表达式、数组、时间和日期、面向对象编程、错误处理和异常处理、PHP与Web页面交互、文件与目录操作、图形图像处理、Cookie和会话管理、MySQL数据库基础、PHP操作MySQL数据库、PDO数据库抽象类库、JavaScript编程基础、PHP与XML技术、PHP与Ajax的综合应用、Smarty模板、Zend framework框架等,最后通过一个论坛系统实战案例和一个酒店管理系统实战案例,使读者进一步巩固所学的知识,提高综合实战能力。
本书既适合PHP的初学者以及广大网站开发人员阅读,也适合高等院校和培训学校相关专业的师生参考。作品目录
内容简介
前言
第1章:初识PHP
1.1、PHP的来龙去脉
1.1.1、PHP的概念
1.1.2、PHP的发展历程
1.1.3、PHP的优势
1.2、PHP能干什么
1.3、PHP
7的新特点
1.4、PHP常用开发工具
1.4.1、PHP代码开发工具
1.4.2、网页设计工具
1.4.3、文本编辑工具
1.5、高手甜点
甜点1:如何快速了解PHP的应用技术?
甜点2:如何选择PHP开发软件?
第2章:PHP
7服务器环境配置
2.1、PHP服务器概述
2.2、安装PHP
7前的准备工作
2.2.1、软硬件环境
2.2.2、获取PHP
7安装资源包
2.3、PHP
7+IIS服务器安装配置
2.3.1、IIS简介及其安装
2.3.2、PHP的安装
2.3.3、虚拟目录的设置
2.4、PHP
7+Apache服务器的环境搭建
2.4.1、Apache简介
2.4.2、关闭原有的网站服务器
2.4.3、安装Apache
2.4.4、将PHP与Apache建立关联
2.5、新手的福音——PHP环境的集成软件
2.6、实战演练——我的第一个PHP程序
2.7、高手甜点
甜点1:如何设置网站的主目录?
甜点2:如何卸载IIS?
甜点3:启动Apache
2.4出错,提示缺少msvcr110.dll怎么办?
第3章:PHP的基本语法
3.1、PHP标识符
3.1.1、短风格
3.1.2、script风格
3.1.3、ASP风格
3.2、编码规范
3.2.1、什么是编码规范
3.2.2、PHP中的编码规范
3.3、常
量
3.3.1、声明和使用常量
3.3.2、内置常量
3.4、变
量
3.4.1、PHP中的变量声明
3.4.2、可变变量与变量的引用
3.4.3、变量作用域
3.4.4、变量的销毁
3.5、数据类型
3.5.1、什么是类型
3.5.2、整型
3.5.3、浮点型
3.5.4、布尔型
3.5.5、字符串型
3.5.6、数组型
3.5.7、对象型
3.5.8、NULL型
3.5.9、资源类型
3.5.10、数据类型之间的相互转换
3.6、标量类型的声明
3.7、运算符
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.7.10、运算符的优先级和结合规则
3.8、表达式
3.9、实战演练——创建多维数组
3.10、高手甜点
甜点1:如何灵活运用命名空间(namespace)?
甜点2:如何快速区分常量与变量?
第4章:PHP的语言结构
4.1、内置函数
4.2、自定义函数
4.2.1、自定义和调用函数
4.2.2、向函数传递参数值
4.2.3、向函数传递参数引用
4.2.4、从函数中返回值
4.2.5、对函数的引用
4.2.6、对函数取消引用
4.3、包含文件
4.3.1、require和include
4.3.2、include_once和require_once
4.4、流程控制
4.4.1、条件控制结构
4.4.2、循环控制结构
4.5、实战演练1——条件分支结构综合应用
4.6、实战演练2——循环控制结构综合应用
4.7、高手甜点
甜点1:如何合理运用include_once()和require_once()?
甜点2:程序检查后正确,却显示Notice:
Undefined
variable,为什么?
第5章:字符串和正则表达式
5.1、字符串的单引号和双引号
5.2、字符串的连接符
5.3、字符串的基本操作
5.3.1、手动和自动转义字符串中的字符
5.3.2、计算字符串的长度
5.3.3、字符串单词统计
5.3.4、清理字符串中的空格
5.3.5、字符串的切分与组合
5.3.6、字符串子串的截取
5.3.7、字符串子串替换
5.3.8、字符串查找
5.3.9、大小写转换
5.4、什么是正则表达式
5.5、正则表达式语法规则
5.6、实战演练——创建酒店系统在线订房表
5.7、高手甜点
甜点1:模式修饰符、单词界定符和方括号“[]”连用,还是和“/”在一起使用?
甜点2:支持Perl语法形式的正则表达式有哪些?
第6章:PHP数组
6.1、什么是数组
6.2、数组的类型
6.2.1、数字索引数组
6.2.2、关联索引数组
6.3、PHP常量数组
6.4、数组构造
6.4.1、一维数组
6.4.2、多维数组
6.5、遍历数组
6.5.1、遍历一维数字索引数组
6.5.2、遍历一维联合索引数组
6.5.3、遍历多维数组
6.6、数组排序
6.6.1、一维数组排序
6.6.2、多维数组排序
6.7、字符串与数组的转换
6.8、向数组中添加和删除元素
6.8.1、向数组中添加元素
6.8.2、从数组中删除元素
6.9、查询数组中指定元素
6.10、统计数组元素个数
6.11、删除数组中的重复元素
6.12、调换数组中的键值和元素值
6.13、实战演练——数组的序列化
6.14、高手甜点
甜点1:数组的合并与联合的区别是什么?
甜点2:如何快速清空数组?
第7章:时间和日期
7.1、系统时区设置
7.1.1、时区划分
7.1.2、时区设置
7.2、PHP日期和时间函数
7.2.1、关于UNIX时间戳
7.2.2、获取当前时间戳
7.2.3、获取当前日期和时间
7.2.4、使用时间戳获取日期信息
7.2.5、检验日期的有效性
7.2.6、输出格式化时间戳的日期和时间
7.2.7、显示本地化的日期和时间
7.2.8、将日期和时间解析为UNIX时间戳
7.2.9、日期和时间在PHP和MySQL数据格式之间的转换
7.3、实战演练1——比较两个时间的大小
7.4、实战演练2——实现倒计时功能
7.5、高手甜点
甜点1:如何使用微秒?
甜点2:定义时间和日期时出现警告怎么办?
第8章:面向对象编程
8.1、类和对象的介绍
8.2、PHP中类的操作
8.2.1、类的声明
8.2.2、成员属性
8.2.3、成员方法
8.2.4、类的实例化
8.2.5、访问类中的成员属性和方法
8.3、构造方法和析构方法
8.4、访问方法
8.5、类的继承
8.6、高级特性
8.6.1、静态属性和方法
8.6.2、final类和方法
8.7、抽象类和接口
8.7.1、抽象类
8.7.2、接口
8.8、面向对象的多态性
8.8.1、通过继承实现多态
8.8.2、通过接口实现多态
8.9、高手甜点
甜点1:理解“(a甜点2:说明抽象类和类的不同之处
第9章:错误处理和异常处理
9.1、常见的错误和异常
9.2、错误处理
9.2.1、php.ini中的错误处理机制
9.2.2、应用DIE语句调试
9.2.3、自定义错误和错误触发器
9.2.4、错误记录
9.3、异常处理
9.3.1、异常的基本处理方法
9.3.2、自定义的异常处理器
9.3.3、处理多个异常
9.3.4、设置顶层异常处理器
9.4、实战演练——处理异常或错误
9.5、高手甜点
甜点1:处理异常有什么规则?
甜点2:如何隐藏错误信息?
甜点3:PHP
7在异常处理方面有什么新变化?
第10章:PHP与Web页面交互
10.1、使用动态内容
10.2、表单与PHP
10.3、表单设计
10.3.1、表单基本结构
10.3.2、文本框
10.3.3、选项框
10.3.4、单选按钮
10.3.5、下拉列表
10.3.6、重置按钮
10.3.7、提交按钮
10.4、传递数据的两种方法
10.4.1、用POST方式传递数据
10.4.2、用GET方式传递数据
10.5、PHP获取表单传递数据的方法
10.6、PHP对URL传递的参数进行编码
10.7、实战演练——PHP与Web表单的综合应用
10.8、高手甜点
甜点1:使用urlencode()和rawurlencode()函数需要注意什么?
甜点2:理解GET和POST的区别和联系。
第11章:文件与目录操作
11.1、文件操作
11.1.1、文件数据的写入
11.1.2、文件数据的读取
11.2、目录操作
11.3、文件的上传
11.4、实战演练——编写文本类型的访客计算器
11.5、高手甜点
甜点1:如何批量上传多个文件?
甜点2:如何从文件中读取一行?
第12章:图形图像处理
12.1、在PHP中加载GD库
12.2、图形图像的典型应用案例
12.2.1、创建一个简单的图像
12.2.2、使用GD2函数在照片上添加文字
12.2.3、使用TrueType字体处理中文生成图片
12.3、Jpgraph库的使用
12.3.1、Jpgraph的安装
12.3.2、Jpgraph的配置
12.3.3、制作柱形图与折线图统计图
12.3.4、制作圆形统计图
12.4、实战演练——制作3D饼形统计图
12.5、高手甜点
甜点1:不同格式的图片在使用上有何区别?
甜点2:如何选择自己想要的RGB颜色呢?
第13章:Cookie和会话管理
13.1、Cookie基本操作
13.1.1、什么是Cookie
13.1.2、创建Cookie
13.1.3、读取Cookie
13.1.4、删除Cookie
13.2、认识Session
13.2.1、什么是Session
13.2.2、Session的基本功能
13.2.3、Cookie与Session
13.2.4、在Cookie或URL中存储Session
ID
13.3、会话管理
13.3.1、创建会话
13.3.2、注册会话变量
13.3.3、使用会话变量
13.3.4、注销和销毁会话变量
13.4、实战演练——会话管理的综合应用
13.5、高手甜点
甜点1:如果浏览器不支持Cookie,怎么办?
甜点2:Cookie的生命周期是多久?
第14章:MySQL数据库基础
14.1、什么是MySQL
14.1.1、客户机/服务器结构
14.1.2、MySQL版本
14.1.3、MySQL优势
14.2、启动服务并登录MySQL数据库
14.2.1、启动MySQL服务
14.2.2、登录MySQL数据库
14.2.3、配置Path变量
14.3、MySQL数据库的基本操作
14.3.1、创建数据库
14.3.2、查看数据库
14.3.3、删除数据库
14.3.4、选择数据库
14.4、MySQL数据表的基本操作
14.4.1、创建数据表
14.4.2、查看数据表
14.4.3、修改数据表
14.4.4、删除数据表
14.5、MySQL语句的操作
14.5.1、插入记录
14.5.2、查询记录
14.5.3、修改记录
14.5.4、删除记录
14.6、MySQL数据库的备份与还原
14.6.1、数据备份
14.6.2、数据还原
14.7、高手甜点
甜点1:每一个表中都要有一个主键吗?
甜点2:mysqldump备份的文件只能在MySQL中使用吗?
甜点3:如何选择备份工具?
第15章:PHP操作MySQL数据库
15.1、PHP访问MySQL数据库的一般步骤
15.2、连接数据库前的准备工作
15.3、访问数据库
15.3.1、使用mysqli_connect()函数连接MySQL服务器
15.3.2、使用mysqli_select_db()函数更改默认的数据库
15.3.3、使用mysqli_close()函数关闭MySQL连接
15.3.4、使用mysqli_query()函数执行SQL语句
15.3.5、获取查询结果集中的记录数
15.3.6、获取结果集中的一条记录作为枚举数组
15.3.7、获取结果集中的记录作为关联数组
15.3.8、获取结果集中的记录作为对象
15.3.9、使用mysqli_fetch_array()函数获取结果集记录
15.3.10、使用mysqli_free_result()函数释放资源
15.4、实战演练1——PHP操作数据库
15.5、实战演练2——使用insert语句动态添加用户信息
15.6、实战演练3—使用select语句查询数据信息
15.7、高手甜点
甜点1:修改php.ini文件后仍然不能调用MySQL数据库怎么办?
甜点2:为什么尽量省略MySQL语句中的分号?
第16章:PDO数据库抽象类库
16.1、PDO概述
16.2、PDO的安装
16.3、使用PDO操作MySQL
16.3.1、连接MySQL数据库的方法
16.3.2、使用PDO时的try
catch错误处理结构
16.3.3、使用PDO执行SQL的选择语句
16.3.4、使用PDO获取返回数据的类方法
16.3.5、使用PDO执行SQL的添加、修改语句
16.3.6、使用PDO执行SQL的删除语句
16.4、实战演练——PDO的prepare表述
16.5、高手甜点
甜点1:PDO中事务如何处理?
甜点2:如何通过PDO连接MS
SQL
Server数据库?
第17章:JavaScript编程基础
17.1、认识JavaScript
17.1.1、什么是JavaScript
17.1.2、JavaScript的特点
17.2、JavaScript在HTML中的使用
17.2.1、在HTML网页头中嵌入JavaScript代码
17.2.2、在HTML网页中嵌入JavaScript代码
17.2.3、在HTML网页的元素事件中嵌入JavaScript代码
17.2.4、在HTML中调用已经存在的JavaScript文件
17.2.5、通过JavaScript伪URL引入JavaScript脚本代码
17.3、JavaScript的基本语法
17.3.1、执行顺序
17.3.2、区分大小写
17.3.3、分号与空格
17.3.4、对代码行进行折行
17.3.5、注释
17.4、JavaScript的数据结构
17.4.1、标识符
17.4.2、关键字
17.4.3、保留字
17.4.4、常量
17.4.5、变量
17.5、代码中的数据类型
17.5.1、typeof运算符
17.5.2、Undefined类型
17.5.3、Null类型
17.5.4、Boolean类型
17.5.5、Number类型
17.5.6、String类型
17.6、条件判断语句
17.6.1、if语句
17.6.2、if…else语句
17.6.3、switch语句
17.7、循环控制语句
17.7.1、while语句
17.7.2、do…while语句
17.7.3、for循环
17.8、在PHP中调用JavaScript代码
17.8.1、验证表单元素的值是否为空
17.8.2、实现即时验证效果
17.9、实战演练——制作树形菜单
17.10、高手甜点
甜点1:变量名有哪些命名规则?
甜点2:为什么会出现死循环?
甜点3:如何计算200以内所有奇数的和?
第18章:PHP与XML技术
18.1、XML概念
18.2、XML语法基础
18.2.1、XML文档的组成和声明
18.2.2、XML元素介绍
18.2.3、实体引用
18.2.4、XML命名空间
18.2.5、XML
DTD
18.2.6、使用CDATA标记
18.3、将XML文档转换为HTML加以输出
18.4、在PHP中创建XML文档
18.5、使用SimpleXML扩展
18.5.1、创建SimpleXMLElement对象
18.5.2、访问特定节点元素和属性
18.5.3、添加XML元素和属性
18.6、实战演练——动态创建XML文档
18.7、高手甜点
甜点1:XML和HTML文件有哪些相同和不同?
甜点2:在向XML添加数据时出现乱码现象怎么办?
第19章:PHP与Ajax的综合应用
19.1、Ajax概述
19.1.1、什么是Ajax
19.1.2、Ajax的关键元素
19.1.3、CSS与Ajax
19.2、Ajax快速入门
19.2.1、全面剖析XMLHttpRequest对象
19.2.2、发出Ajax请求
19.2.3、处理服务器响应
19.3、在PHP中应用Ajax技术
19.4、高手甜点
甜点1:在发送Ajax请求时,是使用GET还是POST?
甜点2:在指定Ajax的异步参数时,应将该参数设置为true还是false?
第20章:Smarty模板
20.1、MVC概述
20.2、什么是模板引擎
20.3、Smarty概述
20.3.1、什么是Smarty
20.3.2、Smarty与MVC
20.4、Smarty的安装和配置
20.4.1、Smarty的下载和安装
20.4.2、第一个Smarty程序
20.5、Smarty模板设计
20.5.1、Smarty模板文件
20.5.2、Smarty标识
20.5.3、Smarty变量
20.5.4、Smarty数组
20.6、Smarty中的流程控制语句
20.7、高手甜点
甜点1:运行网页时一片空白怎么办?
甜点2:如果页面中包含其他模板怎么办?
第21章:Zend
Framework
21.1、什么是Zend
Framework
21.2、Zend
Framework的目录结构
21.3、Zend
Framework的安装与使用
21.3.1、Zend
Framework的安装
21.3.2、创建一个新的Zend
Framework应用
21.4、PHP与Zend
Framework的基本操作
21.4.1、在Zend
Framework应用中创建控制层文件
21.4.2、在Zend
Framework的控制层文件中添加一个action
21.4.3、在Zend
Framework中创建布局
21.4.4、在Zend
Framework中的数据库操作
21.4.5、在Zend
Framework中创建表单
21.5、高手甜点
甜点1:使用Zend
Framework建立MVC的流程是什么?
甜点2:如何创建.htaccess文件?
第22章:PHP+MySQL开发论坛实战
22.1、需求分析
22.1.1、网站的需求分析
22.1.2、网站的功能模块分析
22.2、数据库分析
22.2.1、分析数据库
22.2.2、创建数据表
22.3、论坛的代码实现
22.3.1、数据库连接相关文件
22.3.2、论坛主页面
22.3.3、新用户注册页面
22.3.4、论坛帖子的相关页面
22.3.5、后台管理系统的相关页面
第23章:开发酒店管理系统网站
23.1、网站的需求分析
23.2、数据库分析
23.3、酒店管理系统的实现
23.3.1、使用Yii框架的沙箱模式建立项目
23.3.2、开始goodone项目编程
23.3.3、构建message系统
23.3.4、构建product系统
23.3.5、构建order系统
23.3.6、构建customer系统