作品简介

本书循序渐进地介绍了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<b)?a:b;”的含义
  • 甜点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系统
展开全部