张工厂,微谷科技有限公司技术总监,技术主攻方向为PHP软件开发和MySQL数据库,具有很强的实战经验。长期从事PHP、MySQL的外包服务,对市场使用有着较为长期的经验。熟悉流行的电子商务应用规则,熟悉技术应用方案与方向。对PHP、MySQL系统有较为广泛与深入的认识。
目录
目 录
第1章 初识PHP 1
1.1
PHP的发展 1
1.1.1
PHP的概念 1
1.1.2
PHP的发展历程 1
1.1.3
PHP语言的优势 2
1.2
PHP的应用领域 3
1.3
PHP 7的新特点 3
1.4
PHP常用开发工具 5
1.4.1
PHP代码开发工具 5
1.4.2
网页设计工具 6
1.4.3
文本编辑工具 6
1.5 高手私房菜 8
1.6 经典习题 8
第2章 配置PHP 7服务器环境 9
2.1
PHP服务器概述 9
2.2 安装PHP 7前的准备工作 10
2.2.1
软硬件环境 10
2.2.2
获取PHP 7安装资源包 10
2.3
PHP 7 Apache服务器的环境搭建 12
2.3.1
Apache简介 12
2.3.2
关闭原有的网站服务器 13
2.3.3
安装Apache 13
2.3.4
将PHP与Apache建立关联 14
2.4
PHP环境的集成软件 16
2.5 实战演练——我的个PHP程序 19
2.6 高手私房菜 20
2.7 经典习题 20
第3章 PHP 7的基本语法 21
3.1
PHP标识符 21
3.1.1
短风格 21
3.1.2
script风格 21
3.1.3
ASP风格 22
3.2 编码规范 22
3.2.1
什么是编码规范 22
3.2.2
PHP中的编码规范 22
3.3 常 量 24
3.3.1
声明和使用常量 24
3.3.2
内置常量 25
3.4 变 量 27
3.4.1
PHP中的变量声明 27
3.4.2
可变变量与变量的引用 28
3.4.3
变量作用域(variable scope) 29
3.4.4
变量的销毁 32
3.5 数据的类型 33
3.5.1
什么是类型 33
3.5.2
整型(integer) 34
3.5.3
浮点型(float或double) 34
3.5.4
布尔型(boolean) 34
3.5.5
字符串型(string) 34
3.5.6
数组型(array) 35
3.5.7
对象型(object) 37
3.5.8
NULL型 38
3.5.9
资源类型(resource) 38
3.5.10
数据类型之间的相互转换 38
3.6 标量类型的声明 39
3.7 运算符 40
3.7.1
算术运算符 40
3.7.2
字符串运算符 41
3.7.3
赋值运算符 42
3.7.4
比较运算符 42
3.7.5
逻辑运算符 43
3.7.6
按位运算符 44
3.7.7
否定控制运算符 45
3.7.8
错误控制运算符 45
3.7.9
三元运算符 46
3.7.10
运算符的优先级和结合规则 46
3.8 表达式 46
3.9 实战演练——创建多维数组
47
3.10
高手私房菜 47
3.11
经典习题 48
第4章 PHP语言结构 49
4.1 内置函数 49
4.2 自定义函数 50
4.2.1
自定义和调用函数 50
4.2.2
向函数传递参数值 50
4.2.3
向函数传递参数引用 51
4.2.4
从函数中返回值 52
4.2.5
对函数的引用 53
4.2.6
对函数取消引用 54
4.3 包含文件 54
4.3.1
require和include 54
4.3.2
include_once和require_once 55
4.4 流程控制概述 55
4.5 条件控制结构 56
4.5.1
单一条件分支结构(if语句) 56
4.5.2
双向条件分支结构(if…else语句) 57
4.5.3
多向条件分支结构(elseif语句) 58
4.5.4
多向条件分支结构(switch语句) 59
4.6 循环控制结构 60
4.6.1
while循环语句 60
4.6.2
do…while循环语句 61
4.6.3
for循环语句 62
4.6.4
foreach循环语句 63
4.6.5
流程控制的另一种书写格式 64
4.6.6
使用break/continue语句跳出循环 66
4.7 实战演练1——条件分支结构综合应用
67
4.8 实战演练2——循环控制结构综合应用
69
4.9 高手私房菜 70
4.10
经典习题 70
第5章 字符串和正则表达式 71
5.1 字符串的单引号和双引号
71
5.2 字符串的连接符 72
5.3 字符串的基本操作 74
5.3.1
手动和自动转义字符串中的字符 74
5.3.2
计算字符串的长度 74
5.3.3
字符串单词统计 75
5.3.4
清理字符串中的空格 75
5.3.5
字符串的切分与组合 76
5.3.6
字符串子串的截取 77
5.3.7
字符串子串替换 78
5.3.8
字符串查找 78
5.3.9
大小写转换 79
5.4 什么是正则表达式 80
5.5 正则表达式语法规则 80
5.6 实战演练——创建酒店系统在线订房表 85
5.7 高手私房菜 88
5.8 经典习题 89
第6章 PHP数组 90
6.1 什么是数组 90
6.2 数组的类型 90
6.2.1
数字索引数组 90
6.2.2
关联索引数组 92
6.3
PHP 常量数组 92
6.4 数组构造 93
6.4.1
一维数组 93
6.4.2
多维数组 93
6.5 遍历数组 95
6.5.1
遍历一维数字索引数组 95
6.5.2
遍历一维联合索引数组 96
6.5.3
遍历多维数组 97
6.6 数组排序 98
6.6.1
一维数组排序 98
6.6.2
多维数组排序 100
6.7 字符串与数组的转换 101
6.8 向数组中添加和删除元素
102
6.8.1
向数组中添加元素 102
6.8.2
从数组中删除元素 103
6.9 查询数组中指定元素 105
6.10
统计数组元素个数 106
6.11
删除数组中的重复元素 108
6.12
调换数组中的键值和元素值 108
6.13
实战演练——数组的序列化 109
6.14
高手私房菜 110
6.15
经典习题 110
第7章 时间和日期 111
7.1 系统时区设置 111
7.1.1
时区划分 111
7.1.2
时区设置 111
7.2
PHP日期和时间函数 112
7.2.1
关于UNIX时间戳 112
7.2.2
获取当前时间戳 112
7.2.3
获取当前日期和时间 113
7.2.4
使用时间戳获取日期信息 113
7.2.5
检验日期的有效性 116
7.2.6
输出格式化时间戳的日期和时间 116
7.2.7
显示本地化的日期和时间 118
7.2.8
将日期和时间解析为UNIX时间戳 119
7.2.9
日期和时间在PHP和MySQL数据格式之间的转换 119
7.3 实战演练1——比较两个时间的大小
120
7.4 实战演练2——实现倒计时功能 120
7.5 高手私房菜 121
7.6 经典习题 121
第8章 面向对象编程 122
8.1 类和对象的介绍 122
8.2
PHP中类的操作 123
8.2.1
类的声明 123
8.2.2
成员属性 124
8.2.3
成员方法 124
8.2.4
类的实例化 124
8.2.5
访问类中的成员属性和方法 125
8.3 构造方法和析构方法 127
8.4 访问方法 129
8.5 类的继承 130
8.6 高级特性 131
8.6.1
静态属性和方法 131
8.6.2
final类和方法 132
8.7 抽象类和接口 134
8.7.1
抽象类 134
8.7.2
接口 135
8.8 面向对象的多态性 136
8.8.1
通过继承实现多态 137
8.8.2
通过接口实现多态 138
8.9 高手私房菜 139
8.10
经典习题 139
第9章 错误处理和异常处理 140
9.1 常见的错误和异常 140
9.2 错误处理 143
9.2.1
php.ini中的错误处理机制 143
9.2.2
应用DIE语句调试 144
9.2.3
自定义错误和错误触发器 145
9.2.4
错误记录 148
9.3 异常处理 149
9.3.1
异常的基本处理方法 149
9.3.2
自定义的异常处理器 151
9.3.3
处理多个异常 152
9.3.4
设置顶层异常处理器 153
9.4 实战演练——处理异常或错误
154
9.5 高手私房菜 155
9.6 经典习题 156
第10章 PHP与Web页面的交互 157
10.1
使用动态内容 157
10.2
表单与PHP 158
10.3
表单设计 158
10.3.1
表单基本结构 159
10.3.2
文本框 159
10.3.3
选项框 160
10.3.4
单选按钮 162
10.3.5
下拉列表 163
10.3.6
重置按钮 165
10.3.7
提交按钮 165
10.4
传递数据的两种方法 168
10.4.1
用P