本书是面向PHP初学者的一本入门教材,作者站在初学者的角度,以通俗易懂的语言、丰富的图解、实用的案例,详细讲解了PHP语言的基础知识。
全书共分为12章,前11章是知识讲解,内容包括PHP开篇、PHP语法基础、函数、数组、错误处理及调试、Web前后端数据交互、PHP操作MySQL数据库、正则表达式、文件操作、图像操作、面向对象编程,每章都配备了动手实践,用于练习和巩固所学内容。第12章是项目实战,综合运用所学知识开发“趣PHP”网站。
本书既可作为高等教育本、专科院校计算机相关专业的 PHP课程的教材,也可作为广大 IT 技术人员和编程爱好者的参考书。
本书面向具有网页制作(HTML5、CSS3、JavaScript)和MySQL数据库基础的人群,讲解了如何将这些技术与PHP结合起来,开发动态网站。本书通过以知识讲解为主,以动手实践为辅的形式,达到学用结合的效果,非常适合想要学习PHP的初学者。
本书遵循知识点的难易顺序安排全书的章节,并引导读者将学过的内容串连起来,培养分析问题和解决问题的能力。本书不仅介绍基本概念,还将抽象的概念具体化,让读者明白这个知识点能用来解决什么问题。书中附有动手实践,按照“功能分析 → 功能实现”的方式将前面学过的知识应用起来,使读者能够根据实际功能需求进行编程开发,提高读者对知识的综合运用能力。
第1章 PHP开篇 1.1 初识PHP 1.1.1 什么是PHP 1.1.2 PHP的发展历史 1.1.3 PHP的特点 1.2 Visual Studio Code代码编辑器 1.2.1 Visual Studio Code概述 1.2.2 下载和安装Visual Studio Code 1.2.3 安装中文语言扩展 1.3 PHP开发环境搭建 1.3.1 Apache的安装 1.3.2 PHP的安装 1.4 Web服务器配置 1.4.1 Apache常用配置项 1.4.2 PHP常用配置项 1.4.3 虚拟主机配置 1.4.4 访问权限控制 1.4.5 分布式配置文件 1.4.6 目录浏览功能 1.4.7 自定义错误页面 1.5 编写第一个PHP程序 动手实践:PHP代码嵌入到HTML 本章小结 课后练习 第2章 PHP语法基础 2.1 基本语法 2.1.1 PHP标记 2.1.2 注释 2.1.3 输出语句 2.1.4 标识符 2.1.5 关键字 2.2 变量、常量和表达式 2.2.1 变量 2.2.2 可变变量 2.2.3 常量 2.2.4 预定义常量 2.2.5 表达式 2.3 数据类型 2.3.1 常用的数据类型 2.3.2 数据类型检测 2.3.3 数据类型转换 2.4 运算符 2.4.1 算术运算符 2.4.2 赋值运算符 2.4.3 比较运算符 2.4.4 三元运算符 2.4.5 逻辑运算符 2.4.6 递增/递减运算符 2.4.7 字符串拼接运算符 2.4.8 位运算符 2.4.9 错误控制运算符 2.4.10 运算符优先级 2.5 流程控制 2.5.1 分支结构 2.5.2 循环结构 2.5.3 循环嵌套 2.5.4 跳转语句 2.5.5 流程控制替代语句 2.6 文件包含语句 2.6.1 include和require 2.6.2 include_once和require_once 动手实践1:表格生成器 动手实践2:九九乘法表 本章小结 课后练习 第3章 函数 3.1 函数的定义与调用 3.1.1 初识函数 3.1.2 设置函数的参数 3.1.3 函数中变量的作用域 3.2 函数的嵌套调用 3.2.1 嵌套调用 3.2.2 递归调用 3.3 函数的高级应用 3.3.1 静态变量 3.3.2 可变函数 3.3.3 回调函数 3.3.4 匿名函数 3.4 PHP的内置函数 3.4.1 字符串函数 3.4.2 数学函数 3.4.3 时间和日期函数 3.5 PHP手册的使用 动手实践:制作年历 本章小结 课后练习 第4章 数组 4.1 初识数组 4.2 数组的基本使用 4.2.1 定义数组 4.2.2 访问数组 4.2.3 遍历数组 4.2.4 删除数组 4.2.5 数组运算符 4.3 数组查找 4.3.1 顺序查找法 4.3.2 二分查找法 4.4 数组排序 4.4.1 冒泡排序 4.4.2 选择排序 4.4.3 快速排序 4.4.4 插入排序 4.5 常用数组函数 4.5.1 指针操作函数 4.5.2 元素操作函数 4.5.3 数组排序函数 4.5.4 数组检索函数 4.5.5 其他数组函数 4.6 数组与字符串之间的转换 4.6.1 字符串转换成数组 4.6.2 数组转换成字符串 动手实践:找猴王游戏 本章小结 课后练习 第5章 错误处理及调试 5.1 错误处理概述 5.1.1 常见的错误类型 5.1.2 常见的错误级别 5.2 错误处理方式 5.2.1 显示错误报告 5.2.2 记录错误日志 5.2.3 手动触发错误 5.2.4 自定义错误处理函数 5.3 Xdebug程序调试工具 动手实践:获取PHP脚本运行信息 本章小结 课后练习 第6章 Web前后端数据交互 6.1 HTTP 6.1.1 什么是HTTP 6.1.2 HTTP版本 6.1.3 请求消息 6.1.4 查看请求消息 6.1.5 响应消息 6.1.6 查看响应消息 6.2 表单 6.2.1 表单的组成 6.2.2 表单数据交互 6.2.3 表单提交数组 6.2.4 HTML特殊字符处理 6.3 Cookie技术 6.3.1 Cookie简介 6.3.2 Cookie的使用 6.3.3 Cookie的保存方式 6.4 Session技术 6.4.1 Session简介 6.4.2 Session基本使用 6.4.3 Session常用配置 6.5 cURL扩展 6.5.1 什么是cURL扩展 6.5.2 使用cURL扩展发送请求 6.6 输出缓冲 6.6.1 什么是输出缓冲 6.6.2 输出缓冲函数 动手实践1:用户登录与退出 动手实践2:Web表单生成器 本章小结 课后练习 第7章 PHP操作MySQL数据库 7.1 什么是MySQL 7.2 MySQL的安装和登录 7.2.1 安装MySQL 7.2.2 登录MySQL 7.3 MySQL的使用 7.3.1 数据库操作 7.3.2 数据表操作 7.3.3 数据操作 7.4 PHP中的数据库扩展 7.5 MySQLi扩展的使用 7.5.1 开启MySQLi扩展 7.5.2 MySQLi扩展的常用函数 7.5.3 连接数据库 7.5.4 执行SQL语句 7.5.5 处理结果集 7.6 预处理操作 7.6.1 什么是预处理 7.6.2 实现预处理操作的常用函数 动手实践:许愿墙 本章小结 课后练习 第8章 正则表达式 8.1 初识正则表达式 8.1.1 什么是正则表达式 8.1.2 正则表达式的语法格式 8.1.3 如何使用正则表达式 8.2 元字符 8.2.1 定位符 8.2.2 中括号、连字符和反义符 8.2.3 反斜线 8.2.4 点字符和限定符 8.2.5 竖线 8.2.6 小括号 8.3 模式修饰符 8.4 正则表达式常用函数 8.4.1 preg_grep()函数 8.4.2 preg_replace()函数 8.4.3 preg_split()函数 动手实践:正则表达式表单验证 本章小结 课后练习 第9章 文件操作 9.1 文件基本操作 9.1.1 读取文件 9.1.2 写入文件 9.1.3 重命名、复制和删除文件 9.1.4 文件类型和属性 9.1.5 创建、删除和遍历目录 9.1.6 路径解析 9.2 文件进阶操作 9.2.1 文件指针 9.2.2 目录句柄 9.2.3 资源流 9.2.4 文件上传 动手实践:文件存储系统 本章小结 课后练习 第10章 图像操作 10.1 PHP图像基础知识 10.1.1 GD库扩展 10.1.2 常见图像格式 10.2 图像的常见操作 10.2.1 图像快速入门 10.2.2 图像的基本操作 10.2.3 绘制基本形状 10.2.4 绘制文本 10.3 图像的高级处理 10.3.1 图像叠加与缩放 10.3.2 图像过滤 动手实践:在线相册 本章小结 课后练习 第11章 面向对象编程 11.1 初识面向对象 11.1.1 面向过程与面向对象 11.1.2 面向对象中的类与对象 11.2 类与对象的使用 11.2.1 类的定义和实例化 11.2.2 类成员 11.2.3 可变类与可变类成员 11.2.4 访问控制修饰符 11.2.5 对象的链式调用 11.2.6 对象的比较 11.2.7 对象的浅复制和克隆 11.3 魔术方法 11.3.1 常见的魔术方法 11.3.2 构造方法 11.3.3 析构方法 11.4 类常量与静态成员 11.4.1 类常量 11.4.2 静态成员 11.5 面向对象三大特性 11.6 封装与继承 11.6.1 封装 11.6.2 继承 11.6.3 重写 11.6.4 静态延迟绑定 11.6.5 final最终类 11.7 Trait代码复用 11.7.1 什么是Trait 11.7.2 解决Trait成员同名问题 11.7.3 修改Trait中的方法的访问控制修饰符 11.7.4 Trait同名成员的优先级 11.8 抽象类、抽象方法与接口 11.8.1 抽象类与抽象方法 11.8.2 接口 11.9 多态与类型约束 11.9.1 什么是多态 11.9.2 类型约束 11.10 设计模式 11.10.1 单例模式 11.10.2 工厂模式 11.11 MySQLi扩展面向对象语法 11.11.1 MySQLi面向对象基本语法 11.11.2 预处理和参数绑定 动手实践:Session入库 本章小结 课后练习 第12章 项目实战——“趣PHP”网站 12.1 项目展示 12.2 项目开发说明 本章小结