本书面向已经具有PHP编程基础的人群,讲解如何运用PHP开发动态网站。在企业中,一般都是采用框架进行项目开发,为了提高本书的实战性,书中讲解了从开发一个自定义框架到利用框架开发一个“内容管理系统”项目的全过程,以及市面上流行的Laravel框架的基础知识,帮助读者既能理解框架的实现原理,又能掌握项目的开发技术。
全书共8章。第1章讲解PHP开发环境的搭建,第2、3章讲解PHP框架的基础知识,第4章讲解框架中的数据库操作(PDO扩展)和模板引擎的使用,第5、6章讲解内容管理系统的开发实战,第7、8章讲解Laravel框架的使用。
注:相比第一版,难度提升为中级,不含基础部分内容,如果您是零基础,请先从《PHP基础案例教程》开始学习。
本书既可作为高等院校计算机相关专业的PHP动态网站开发课程的教材,也可作为广大IT技术人员和编程爱好者的优秀读物。
在企业级开发中,一般都会选择一种框架来搭建项目的底层,这要求PHP程序员至少应掌握一种框架的使用。本书重点讲解了框架的设计思想、与框架相关的知识、如何使用框架进行网站开发,以及市面上非常流行的Laravel框架的使用。
本书针对想要从事与PHP开发相关的工作,已经具备了HTML5、CSS3、JavaScript、PHP、MySQL的基础知识,但是还没有学习过框架的人群,详细讲解了MVC开发模式、框架的单一入口和路由机制、命名空间和自动加载的使用、代码规范(PSR)、自定义框架的创建、框架中的基础类的编写、反射和异常处理的使用、PDO扩展的数据库操作、DB类和Model类的编写、Smarty模板引擎的使用、内容管理系统的开发,以及Laravel框架的使用。尽可能地确保读者可以学以致用,具备解决实际问题的能力。
第1章 开发环境搭建 1.1 安装Visual Studio Code 1.2 搭建WAMP环境 1.2.1 安装Apache 1.2.2 安装PHP 1.2.3 安装MySQL 1.3 安装Composer依赖管理工具 1.4 Web服务器配置 1.4.1 配置虚拟主机 1.4.2 访问权限控制 1.4.3 【案例】按照要求配置虚拟主机 本章小结 课后练习 第2章 PHP框架基础(上) 2.1 初识框架 2.1.1 什么是框架 2.1.2 常见的PHP框架 2.2 MVC开发模式 2.2.1 什么是MVC 2.2.2 【案例】体验MVC开发模式 2.3 框架的单一入口和路由 2.3.1 什么是单一入口 2.3.2 【案例】单一入口的实现 2.3.3 【案例】隐藏入口文件 2.3.4 框架中的路由 2.3.5 【案例】路由的代码实现 2.4 命名空间 2.4.1 命名空间的定义 2.4.2 命名空间的使用 2.4.3 导入命名空间 2.5 自动加载 2.5.1 注册自动加载函数 2.5.2 注册多个自动加载函数 2.5.3 注册自动加载方法 2.6 代码规范 2.6.1 PSR规范 2.6.2 配置VS Code编辑器 本章小结 课后练习 第3章 PHP框架基础(下) 3.1 创建自定义框架 3.1.1 创建目录结构 3.1.2 使用Composer实现自动加载 3.1.3 使用Composer管理项目依赖 3.1.4 【案例】创建自己的包 3.2 框架基础搭建 3.2.1 App类 3.2.2 Request类 3.2.3 Response类 3.2.4 Container类 3.3 反射 3.3.1 反射API 3.3.2 【案例】利用反射实现依赖注入 3.4 异常处理 3.4.1 异常的抛出和捕获 3.4.2 自定义异常 3.4.3 多异常捕获处理 3.4.4 【案例】在框架中处理异常 本章小结 课后练习 第4章 数据库和模板引擎 4.1 PDO扩展 4.1.1 开启PDO扩展 4.1.2 连接和选择数据库 4.1.3 执行SQL语句 4.1.4 处理结果集 4.1.5 预处理机制 4.1.6 为占位符绑定数据 4.1.7 PDO错误处理 4.1.8 PDO事务处理 4.2 【案例】封装DB类 4.2.1 连接数据库 4.2.2 封装查询类操作 4.2.3 封装执行类操作 4.3 【案例】封装Model类 4.3.1 初始化表名 4.3.2 查询数据 4.3.3 新增数据 4.3.4 修改数据 4.3.5 删除数据 4.4 Smarty模板引擎 4.4.1 安装Smarty 4.4.2 在框架中使用Smarty 4.4.3 Smarty常用模板语法 本章小结 课后练习 第5章 内容管理系统(上) 5.1 项目展示 5.2 后台用户登录 5.2.1 创建用户表 5.2.2 显示登录页面 5.2.3 Ajax交互 5.2.4 接收登录表单 5.2.5 判断登录状态 5.2.6 退出登录 5.3 验证码 5.3.1 编写验证码类 5.3.2 输出验证码图像 5.3.3 判断验证码是否正确 5.4 后台页面搭建 5.4.1 后台布局 5.4.2 左侧菜单 5.4.3 后台首页 5.5 栏目管理 5.5.1 创建栏目表 5.5.2 显示栏目列表 5.5.3 添加和修改栏目 5.5.4 删除栏目 本章小结 课后练习 第6章 内容管理系统(下) 6.1 文章管理 6.1.1 创建文章表 6.1.2 显示文章列表 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 文章列表 6.2.5 侧边栏 6.3 文章展示 6.3.1 显示文章内容 6.3.2 记录阅读量 6.3.3 查询上一篇和下一篇 本章小结 课后练习 第7章 Laravel框架(上) 7.1 初识Laravel 7.1.1 Laravel概述 7.1.2 创建Laravel项目 7.1.3 配置VS Code编辑器 7.1.4 Laravel目录结构 7.2 路由 7.2.1 配置路由 7.2.2 路由参数 7.2.3 路由别名 7.2.4 路由分组 7.3 控制器 7.3.1 创建控制器 7.3.2 控制器路由 7.3.3 接收用户输入 7.4 数据库操作 7.4.1 配置数据库 7.4.2 添加数据 7.4.3 修改数据 7.4.4 查询数据 7.4.5 删除数据 7.4.6 执行SQL语句 7.5 视图 7.5.1 创建视图文件 7.5.2 向视图传递数据 7.5.3 视图数据的处理 7.5.4 循环操作 7.5.5 判断操作 7.5.6 模板继承 7.5.7 模板包含 7.6 防御CSRF攻击 7.6.1 什么是CSRF攻击 7.6.2 在Laravel中防御CSRF攻击 7.6.3 从CSRF验证中排除例外路由 7.7 模型 7.7.1 定义模型 7.7.2 在控制器中使用模型 7.7.3 使用模型添加数据 7.7.4 利用模型查询数据 7.7.5 利用模型修改数据 7.7.6 利用模型删除数据 7.8 自动验证 7.8.1 如何进行自动验证 7.8.2 在Ajax请求中使用自动验证 本章小结 课后练习 第8章 Laravel框架(下) 8.1 常见功能开发 8.1.1 响应控制 8.1.2 会话控制 8.1.3 文件上传 8.1.4 数据分页 8.1.5 验证码 8.2 缓存操作 8.2.1 缓存配置 8.2.2 添加缓存 8.2.3 读取缓存 8.2.4 删除缓存 8.2.5 缓存数值自增或自减 8.3 数据表的迁移和填充 8.3.1 数据表迁移 8.3.2 数据表填充 8.4 连接查询 8.5 关联模型 8.5.1 一对一 8.5.2 一对多 8.5.3 多对一 8.5.4 多对多 本章小结 课后练习 ***配套资源中额外附送 Laravel版 文章管理系统 项目实战