
本书是与《Web前端开发职业技能等级标准》配套的实践教材,教材中所有应用技术专题和项目代码均在主流浏览器中运行通过。本书结合高校计算机相关专业Web前端开发方向课程体系、企业Web前端开发岗位能力模型和《Web前端开发职业技能等级标准》,形成Web前端开发三位一体知识地图,以实践能力为导向,以企业真实应用为目标,遵循企业软件工程标准和技术,以任务为驱动,对HTML5、CSS3、JavaScript、jQuery、Bootstrap、MySQL、PHP、Laravel、AJAX、JSON、RESTful API等Web前端开发中的重要知识单元,结合实际案例和应用环境进行了分析和设计,并对每个重要知识单元进行了详细介绍,力求使读者真正掌握这些知识,从而在实际场景中加以应用。全书分为两部分:第一部分为实验,采用技术专题进行知识单元训练,可以对应课程练习或实验,针对不同的知识单元设计实验项目,重点训练每个知识单元的内容;第二部分为综合实践,可以对应课程设计或综合实践,用一个“淘兴趣”项目贯穿Web前端开发核心知识,此项目会应用到中级标准中所包含的所有核心知识单元,而且其是参照企业中真实项目标准进行开发的。本书适合作为《Web前端开发职业技能等级标准》的实践教学参考用书,也适合作为对Web前端开发感兴趣的读者的指导用书。
前 言 为了帮助读者学习和掌握《Web前端开发职业技能等级标准》(中级)中涵盖的实践技能,工业和信息化部教育与考试中心1+X项目组组织企业工程技术人员编写了本书。本书按照标准中涉及的核心技能要求精心设计了技术专题,这些技术专题全部按照企业项目开发思路进行分析和设计。 除此之外,笔者还设计了一个分享领域网站案例,以提高读者的Web前端开发应用实践能力。在编写过程中,注重引导读者如何理解将Web前端开发中的知识单元与项目需求和技术进行对接,并采用迭代开发思路进行每一个功能的开发。 全书分为实验(技术专题)和综合实践(淘兴趣项目)两部分,每一部分设定实践目标,以任务为驱动,采用迭代开发思路进行开发,共21章。 第1章是实践概述,主要描述本书的实践目标、实践知识地图和实施安排。 第2章至第20章是实验部分,针对HTML5、CSS3、JavaScript、jQuery、Bootstrap、MySQL、PHP、Laravel、AJAX、JSON、RESTful API等核心知识单元设计了技术专题,每一个技术专题针对一次实验项目进行训练,内容包括实验目标、实验任务、设计思路和实验实施(跟我做),最大程度覆盖Web前端开发中级实践内容。 第21章是综合实践部分,设计了“淘兴趣”实践案例,完整贯穿Web前端开发核心知识,阐释了如何在真实企业项目中应用Web前端开发核心知识,并通过“迭代开发”详细讲解了实践项目的开发过程。整个项目根据技术选型和功能模块,分为五大阶段,分别为“第一阶段PHP页面混合式”“第二阶段移动端响应式页面”“第三阶段AJAX+JSON”“第四阶段RESTful API”“第五阶段Laravel”,层层递进,完整贯穿Web前端开发核心知识。通过技术专题和案例综合训练,使读者能够达到中级Web前端工程师水平。 参与本书编写工作的有张晋华、马庆槐、王博宜、郑婕、吴奇飞、李文、黄俊丹、赵俊、姜宜池、杜慧情、成菲、江涛、彭险等。谭志彬、龚玉涵依据《Web前端开发职业技能等级标准》(中级)为本书做了整体策划和内容统筹。 由于编者的水平和时间有限,本书难免存在不足之处,敬请读者批评和指正。 编者
目 录 第1章 实践概述 1 1.1 实践目标 1 1.2 实践知识地图 1 1.3 实施安排 10 1.3.1 实验(技术专题)部分 10 1.3.2 综合实践部分 19 第2章 开发工具(HBuilder) 22 2.1 实验目标 22 2.2 实验任务 22 2.3 设计思路 22 2.4 实验实施(跟我做) 22 2.4.1 步骤一:下载并安装 HBuilder 22 2.4.2 步骤二:HBuilder主界面 23 2.4.3 步骤三:在HBuilder中安装 PHP插件 24 2.4.4 步骤四:创建Web项目 工程 25 2.4.5 步骤五:创建HTML 页面 26 2.4.6 步骤六:编辑html文件 27 2.4.7 步骤七:运行 28 第3章 Web静态网页开发 (小说网首页) 29 3.1 实验目标 29 3.2 实验任务 30 3.3 设计思路 32 3.4 实验实施(跟我做) 35 3.4.1 步骤一:创建工程 35 3.4.2 步骤二:制作首页 35 3.4.3 步骤三:制作小说列表 页面 37 3.4.4 步骤四:加载小说列表 页面 39 3.4.5 步骤五:添加样式美化 首页 40 3.4.6 步骤六:添加样式美化小说 列表页面 44 第4章 JavaScript开发交互效果页面 (房贷计算器) 47 4.1 实验目标 47 4.2 实验任务 48 4.3 设计思路 49 4.4 实验实施(跟我做) 52 4.4.1 步骤一:创建工程 52 4.4.2 步骤二:使用HTML布局 页面 52 4.4.3 步骤三:使用CSS样式美化 页面 53 4.4.4 步骤四:创建house.js 文件 56 4.4.5 扩展:正则表达式验证 输入 59 第5章 jQuery开发交互效果页面 (留言页面) 61 5.1 实验目标 61 5.2 实验任务 62 5.3 设计思路 63 5.4 实验实施(跟我做) 64 5.4.1 步骤一:创建工程 64 5.4.2 步骤二:使用HTML布局 留言页面 64 5.4.3 步骤三:使用CSS样式美化 留言页面 65 5.4.4 步骤四:引入jQuery文件和jQuery UI文件 66 5.4.5 步骤五:输入留言信息 67 5.4.6 步骤六:发布留言 68 5.4.7 步骤七:保存留言信息 68 第6章 Bootstrap开发页面 (注册页面) 69 6.1 实验目标 69 6.2 实验任务 70 6.3 设计思路 70 6.4 实验实施(跟我做) 72 6.4.1 步骤一:引入Bootstrap 文件 72 6.4.2 步骤二:制作页头导航栏 73 6.4.3 步骤三:制作注册栏 73 6.4.4 步骤四:制作页脚 76 6.4.5 步骤五:运行效果 76 第7章 Bootstrap开发页面 (分类信息页面) 77 7.1 实验目标 77 7.2 实验任务 78 7.3 设计思路 79 7.4 实验实施(跟我做) 82 7.4.1 步骤一:引入Bootstrap 82 7.4.2 步骤二:制作页头 82 7.4.3 步骤三:制作产地筛选栏和 商品信息栏 84 7.4.4 步骤四:制作页脚 86 7.4.5 步骤五:响应到移动端 86 第8章 MySQL(MySQL基本 操作) 88 8.1 实验目标 88 8.2 实验任务 88 8.3 设计思路 89 8.4 实验实施(跟我做) 89 8.4.1 步骤一:下载并安装 MySQL 89 8.4.2 步骤二:登录MySQL 90 8.4.3 步骤三:数据库基本操作 92 第9章 MySQL(试题信息管理) 93 9.1 实验目标 93 9.2 实验任务 94 9.3 设计思路 95 9.4 实验实施(跟我做) 97 9.4.1 步骤一:创建数据库 97 9.4.2 步骤二:创建表 97 9.4.3 步骤三:表的操作 99 9.4.4 步骤四:视图 100 9.4.5 步骤五:索引 100 9.4.6 步骤六:管理表数据 100 9.4.7 步骤七:查询表数据 101 9.4.8 步骤八:导入和导出数据库 脚本 102 9.4.9 步骤九:事务控制 103 9.4.10 步骤十:触发器 104 9.4.11 步骤十一:存储过程 105 第10章 PHP制作动态网页 (第一个PHP程序) 107 10.1 实验目标 107 10.2 实验任务 108 10.3 设计思路 108 10.4 实验实施(跟我做) 108 10.4.1 步骤一:更改Apache的 网站根目录 108 10.4.2 步骤二:制作第一个PHP 程序 110 10.4.3 步骤三:发布运行 111 10.4.4 步骤四:扩展 112 第11章 PHP制作动态网页 (日期计算器) 113 11.1 实验目标 113 11.2 实验任务 114 11.3 设计思路 114 11.4 实验实施(跟我做) 115 11.4.1 步骤一:编写主页 115 11.4.2 步骤二:判断闰年 116 11.4.3 步骤三:验证日期 116 11.4.4 步骤四:计算天数 117 11.4.5 步骤五:处理请求 118 11.4.6 步骤六:运行效果 119 第12章 PHP制作动态网页 (购物车) 120 12.1 实验目标 120 12.2 实验任务 121 12.3 设计思路 123 12.4 实验实施(跟我做) 124 12.4.1 步骤一:制作商品列表 页面 124 12.4.2 步骤二:将商品加入 购物车 126 12.4.3 步骤三:制作购物车 页面 128 12.4.4 步骤四:改变购物车内的 商品数量 129 12.4.5 步骤五:制作确认订单 页面 129 12.4.6 步骤六:制作订单页面 131 第13章 PHP制作动态网页 (在线投票系统) 132 13.1 实验目标 132 13.2 实验任务 133 13.3 设计思路 133 13.4 实验实施(跟我做) 135 13.4.1 步骤一:创建项目和 文件 135 13.4.2 步骤二:页面基类 136 13.4.3 步骤三:姓名输入页面 137 13.4.4 步骤四:投票页面 138 13.4.5 步骤五:数据的获取和 写入 139 第14章 PHP制作动态网页 (学生成绩管理) 141 14.1 实验目标 141 14.2 实验任务 142 14.3 设计思路 143 14.4 实验实施(跟我做) 146 14.4.1 步骤一:创建项目和 文件 146 14.4.2 步骤二:创建数据库 147 14.4.3 步骤三:制作CSS 样式 147 14.4.4 步骤四:制作登录 页面 147 14.4.5 步骤五:制作成绩管理 页面 149 14.4.6 步骤六:编写数据库操作 PHP代码 151 14.4.7 步骤七:数据的获取和 写入 153 第15章 AJAX制作动态网页 (阅读器) 158 15.1 实验目标 158 15.2 实验任务 159 15.3 设计思路 160 15.4 实验实施(跟我做) 161 15.4.1 步骤一:创建项目和 文件 161 15.4.2 步骤二:实现XML格式 数据接口 161 15.4.3 步骤三:实现JSON格式 数据接口 162 15.4.4 步骤四:制作HTML 页面 163 15.4.5 步骤五:制作CSS样式 163 15.4.6 步骤六:编写AJAX 请求 164 15.4.7 步骤七:构建XML格式的 书籍内容 165 15.4.8 步骤八:构建JSON格式的 书籍内容 166 15.4.9 步骤九:清除页面内容 167 第16章 RESTful API规范 (视频列表) 168 16.1 实验目标 168 16.2 实验任务 169 16.3 设计思路 170 16.4 实验实施(跟我做) 172 16.4.1 步骤一:处理API 请求 172 16.4.2 步骤二:返回视频列表 数据 175 16.4.3 步骤三:使用RESTful API 176 第17章 Laravel框架构建动态网站 (第一个Laravel程序) 178 17.1 实验目标 178 17.2 实验任务 179 17.3 设计思路 180 17.4 实验实施(跟我做) 181 17.4.1 步骤一:安装 Composer 181 17.4.2 步骤二:配置国内镜像 183 17.4.3 步骤三:创建Laravel 工程 183 17.4.4 步骤四:配置虚拟主机 184 17.4.5 步骤五:编写index.blade.php 文件 186 17.4.6 步骤六:编写路由 186 第18章 Laravel框架构建动态网站 (在线答题) 187 18.1 实验目标 187 18.2 实验任务 188 18.3 设计思路 188 18.4 实验实施(跟我做) 190 18.4.1 步骤一:创建Laravel 工程 190 18.4.2 步骤二:配置路由 191 18.4.3 步骤三:创建控制器类QuizController 191 18.4.4 步骤四:编写quiz.blade.php 文件 192 18.4.5 步骤五:编写result.blade.php 文件 193 18.4.6 步骤六:编写QuizController() 处理函数 194 第19章 Laravel框架构建动态网站 (个人博客) 197 19.1 实验目标 197 19.2 实验任务 198 19.3 设计思路 200 19.4 实验实施(跟我做) 203 19.4.1 步骤一:创建Laravel 工程 203 19.4.2 步骤二:配置路由 204 19.4.3 步骤三:创建控制器类 205 19.4.4 步骤四:实现登录功能 (查询构建器) 205 19.4.5 步骤五:创建模型类 206 19.4.6 步骤六:实现登录功能 207 19.4.7 步骤七:显示博客列表 208 19.4.8 步骤八:添加博客 212 19.4.9 步骤九:修改和删除 博客 212 第20章 AJAX制作动态网页 (天气预报) 214 20.1 实验目标 214 20.2 实验任务 216 20.3 设计思路 216 20.4 实验实施(跟我做) 217 20.4.1 步骤一:创建工程和 文件 217 20.4.2 步骤二:实现PHP数据 接口 218 20.4.3 步骤三:制作HTML 页面 219 20.4.4 步骤四:制作CSS 样式 220 20.4.5 步骤五:编写AJAX 请求 221 第21章 综合实践(淘兴趣) 223 21.1 项目简介 223 21.2 实践目标 223 21.3 需求分析 224 21.4 页面设计 226 21.4.1 工作任务 226 21.4.2 设计思路 226 21.4.3 实现(跟我做) 228 21.5 第一阶段PHP页面混合式: 创建工程 233 21.5.1 工作任务 233 21.5.2 设计思路 233 21.5.3 实现(跟我做) 236 21.6 第一阶段PHP页面混合式: 系统管理 241 21.6.1 PHP页面混合式:管理员 登录 241 21.6.2 PHP页面混合式:兴趣 管理 246 21.7 第一阶段PHP页面混合式: 用户注册 253 21.7.1 工作任务 253 21.7.2 设计思路 254 21.7.3 实现(跟我做) 255 21.8 第一阶段PHP页面混合式: 用户登录 258 21.8.1 工作任务 258 21.8.2 设计思路 259 21.8.3 实现(跟我做) 259 21.9 第一阶段PHP页面混合式: 个人中心 261 21.9.1 工作任务 261 21.9.2 设计思路 262 21.9.3 实现(跟我做) 263 21.10 第一阶段PHP页面混合式: 首页 265 21.10.1 工作任务 265 21.10.2 设计思路 267 21.10.3 实现(跟我做) 268 21.11 第一阶段PHP页面混合式: 趣点管理 270 21.11.1 PHP页面混合式:创建 趣点 270 21.11.2 PHP页面混合式:搜索 趣点 275 21.11.3 PHP页面混合式:订阅 趣点 281 21.12 第一阶段PHP页面混合式: 微博管理 287 21.12.1 工作任务 287 21.12.2 设计思路 289 21.12.3 实现(跟我做) 289 21.13 第二阶段移动端响应式页面: 首页 293 21.13.1 工作任务 293 21.13.2 设计思路 293 21.13.3 实现(跟我做) 294 21.14 第三阶段AJAX+JSON: 用户注册 297 21.14.1 工作任务 297 21.14.2 设计思路 298 21.14.3 实现(跟我做) 299 21.15 第三阶段AJAX+JSON: 用户登录 307 21.15.1 工作任务 307 21.15.2 设计思路 308 21.15.3 实现(跟我做) 309 21.16 第三阶段AJAX+JSON: 趣点管理 314 21.16.1 工作任务 314 21.16.2 设计思路 316 21.16.3 实现(跟我做) 316 21.17 第三阶段AJAX+JSON: 微博管理 328 21.17.1 工作任务 328 21.17.2 设计思路 330 21.17.3 实现(跟我做) 330 21.18 第四阶段RESTful API: 搜索趣点 339 21.18.1 工作任务 339 21.18.2 设计思路 340 21.18.3 实现(跟我做) 342 21.19 第五阶段Laravel:用户 注册 350 21.19.1 工作任务 350 21.19.2 设计思路 351 21.19.3 实现(跟我做) 352 21.20 第五阶段Laravel:用户 登录 359 21.20.1 工作任务 359 21.20.2 设计思路 360 21.20.3 实现(跟我做) 361