PHP应用开发(第二版)

PHP应用开发(第二版) 教材名称: PHP应用开发(第二版)
ISBN号: 978-7-89436-761-7 作者: 周海波
字数: 684千字 规格: 16开
印制时间: 2020-08-01 出版日期: 2020-08-01
定价: 62 元 样章下载: PHP应用开发(第二版)—样章.pdf
购买链接:

一、教材的基本信息
1.适用对象
本教材适用于计算机相关专业基于PHP的Web开发课程的教学,也可作为基于PHP的Web应用项目开发爱好者的参考资料,具有通用性。可以根据学习者层次不同选择相关能力指标、知识点进行教学和学习。
2.具备的知识和能力基础
需要具备基本的计算机基础知识和查阅参考资料文献的能力。最好先修过“HTML基础”和“C语言程序设计基础”之类的课程。
3.预期学习效果
(1)专业能力效果
理解Web应用开发基础知识,网页的运行原理;熟练运用HTML、CSS、Bootstrap等静态网页开发技术完成网页设计;熟练运用PHP语言和MySQL数据库技术实现基于PHP的Web应用项目的开发。
(2)素质能力效果
实行开放式教育原则,培养学生通过查阅搜索资料方式进行学习,并能够针对教师布置的任务自主学习新技术、新方法并提出解决方案。
(3)工程能力效果
理解一个完善的Web应用项目的设计与实施过程。能够根据项目需求进行页面设计和数据库设计,能够在MySQL数据库环境中使用PHP语言实现数据的操作、管理和维护,进而理解项目开发的CDIO全过程。
4.教材编写团队情况介绍
本教材是PHP应用与开发课程组所有教师多年一线PHP课程授课以及项目开发经验的结晶。本教材从TOPCARES理念出发,以一个课程项目贯穿始终。第1章、第10章、第11章和第12章由周海波编写;第6章、第9章由宋晓慧编写;第3章、第4章由李翔坤编写;第5章、第7章由闫海珍编写;第2章、第8章由郑俊生编写。教材由周海波统稿。
另外,在本教材的编写过程中,熊耀华、王红、邓丽等各位老师都提出了宝贵的意见,在此表示感谢。
其次,感谢参与本教材编写和审阅的所有老师,感谢他们认真、严谨的工作,保证教材高质量地完成。最后,感谢大连东软信息学院计算机系领导以及教材建设委员会对该教材编写的帮助和支持,感谢东软电子出版社为该教材编写、出版创造的优良条件。
由于作者水平有限,以及编写时间仓促,教材中错误或不妥之处难免,敬请读者批评指正。
二、教材的基本结构与内容组织
1.教材的基本结构
教材共12章,遵循TOPCARES的教学指导原则,内容涵盖Web基本工作原理、HTML语言、MySQL数据库设计、PHP基础语法、PHP与网页交互、PHP访问MySQL数据库、会话控制、Bootstrap技术、PHP进阶技术以及PHP面向对象编程等方面。教材贯穿一个Web应用项目——视频信息管理系统,从它的静态页面设计和数据库设计→PHP与网页交互和PHP与数据库交互完成相应功能→会话控制→页面美化→项目的部署和运行,一步步向读者介绍基于PHP的Web应用项目开发过程中用到的相关知识,循序渐进地引导读者完成项目的开发,最终提高读者Web应用项目开发的实践能力。
教材中的案例精心设计,足以使读者对当前讲解的理论知识熟练掌握。教材以项目为载体,基于构思、设计、实施和运行循序渐进培养读者动态网页设计与开发的基本技能,使读者能够熟练地利用PHP技术进行中等难度的动态网页编程。
2.教材的内容组织
本教材共分12章。
第1章项目背景,讲解Web工作原理,动态网站开发所需的Web构件,以及Web应用项目视频信息管理系统的功能需求、设计和运行结果。
第2章项目数据库设计,讲解MySQL数据库的常见操作(数据库连接与关闭,创建数据库,创建数据表,数据表内容的简单管理),数据表设计,数据字段属性,SQL语句设计等内容。并以用户管理子系统项目为例讲解创建数据库和创建表的流程,最后完成所有数据表的设计工作。
第3章项目界面设计,讲解HTML基础知识、CSS基础知识,网站界面设计原则和风格。并以用户信息管理子系统项目的用户信息注册页面为例,来讲解页面设计的流程和注意事项。最后完成用户管理子系统所有页面的设计过程。
第4章PHP基本语法,讲解PHP中的变量和常量、运算符和表达式、流程控制、函数、数组等基础语法的内容。
第5章PHP与网页交互,讲解PHP中的预定义数组,以及文件上传和下载的流程,并完成用户管理子系统中的注册信息页面数据获取和头像上传功能。
第6章PHP访问MySQL数据库,讲解PHP访问MySQL数据库的流程,PHP访问MySQL数据库的相关函数。并完成用户管理子系统项目的核心功能,包括:普通用户注册,管理员登录以及登录后对用户信息的显示、搜索、删除、修改。
第7章会话控制,讲解PHP中的Session和Cookie。完成用户管理子系统项目的管理员操作各页面的权限验证功能以及在各页面显示欢迎管理员登录信息的功能。
第8章PHP进阶,介绍PHP中的一些高级应用,例如Ajax、富文本、PHPMailer、ECharts等,为高级网站开发打下基础。
第9章用Bootstrap技术美化页面,将用户管理子系统项目的各个功能页面重新排版、布局并添加样式。
第10章项目的总体实现完成了整个视频信息管理系统的功能。后台功能包括视频类型管理、视频管理、评论管理,以及修改管理员密码和注销功能。前台功能包括首页、列表页、内容页、视频排行、视频评分、评论视频、收藏视频、个人中心等功能。网站完成后,将其部署到新浪云平台上并运行。
第11章介绍PHP中的面向对象编程的相关知识,为后续的PHP面向对象的方式开发网站打下基础。
第12章构建一个简单的MVC结构,并基于此结构给出了视频信息管理系统的实现思路。为读者将来学习使用PHP框架开发程序奠定基础。
视频信息管理系统和各个章节之间的关系如下图所示。
项目与各章之间的关系图
附录AWAMP软件的安装与配置。
附录B为学生提供了3套网站开发的测试题,用以巩固PHP应用开发相关知识点的学习并检测学习效果。
附录C列举PHP中常用的函数列表,供读者开发程序时查询。
附录D对课程的教学知识点、能力要求等内容做了详细说明。
教材中的核心章节都设有【项目描述】介绍本章任务,然后引入本章的核心知识点,从而完成【项目实现】为了发挥读者的个人能动性,通常最后又安排了【项目扩展】和实践练习环节,为读者提供更多的课下自学和巩固知识点的内容。

第1章项目背景1
1.1网站开发的体系结构1
1.2网站开发中常用概念介绍2
1.3动态网站开发所需的Web构件4
1.4视频信息管理系统的构思与设计9
1.4.1需求说明10
1.4.2界面设计10
1.4.3数据库设计15
1.5开发技术与运行环境的选择15
1.5.1开发技术的选择15
1.5.2运行环境的选择16
1.5.3初识PHP16
实践练习18
第2章项目数据库设计19
【项目描述】设计视频信息管理系统数据库19
2.1MySQL数据库基础知识22
2.1.1MySQL数据库的存储引擎22
2.1.2MySQL数据库的数据类型23
2.1.3MySQL字符集与字符序25
2.1.4MySQL数据库的SQL语法基础26
2.1.5数据库用户权限管理28
2.2使用Navicat管理数据库29
2.2.1启动Navicat并配置数据库连接29
2.2.2创建数据库和数据表31
2.2.3操作SQL34
2.2.4导出导入数据库36
【项目实现】设计视频信息管理系统数据库38
实践练习42
第3章项目界面设计46
【项目描述】完成注册用户信息管理子系统的页面设计46
3.1HTML基础知识48
3.1.1HTML文档结构48
3.1.2HTML的基本元素50
3.1.3HTML的属性56
3.1.4HTML颜色58
3.1.5字符实体59
3.1.6列表60
3.1.7超链接63
3.1.8表格67
3.1.9表单71
3.2CSS基础知识79
3.2.1样式表的基本语法80
3.2.2设置页面字体样式80
3.2.3设置页面颜色和背景84
3.2.4页面的边距和填充85
3.2.5CSS选择符88
3.2.6在网页中引入样式表96
【项目实现】完成注册用户信息管理子系统的页面设计98
【项目扩展】为页面添加样式103
实践练习104
第4章PHP基本语法107
4.1将PHP嵌入到HTML代码107
4.2PHP程序中的注释109
4.3PHP中的输出方法110
4.4变量111
4.4.1变量的命名111
4.4.2变量的数据类型112
4.4.3变量类型的转换117
4.4.4PHP对变量的操作119
4.5常量121
4.5.1常量定义121
4.5.2使用PHP预定义常量122
4.6PHP中的运算符和表达式123
4.6.1算术运算符123
4.6.2字符串运算符124
4.6.3赋值运算符124
4.6.4比较运算符124
4.6.5逻辑运算符125
4.6.6位运算符125
4.6.7其他运算符125
4.6.8表达式126
4.7PHP中的分支结构128
4.7.1单分支结构128
4.7.2双分支结构129
4.7.3多分支结构131
4.8PHP中的循环结构134
4.8.1while语句134
4.8.2do…while语句135
4.8.3for循环语句136
4.8.4foreach语句137
4.8.5特殊的流程控制语句138
4.9PHP中的数组140
4.9.1数组的分类140
4.9.2数组的定义和遍历140
4.10PHP中的函数149
4.10.1定义函数和调用函数149
4.10.2函数参数和返回值151
4.10.3使用文件包含函数组织代码155
4.10.4PHP变量的范围157
实践练习160
第5章PHP与网页交互164
【项目描述】获取用户注册表单信息并输出164
5.1PHP的预定义数组165
5.1.1预定义数组$_POST166
5.1.2预定义数组$_GET169
5.1.3其他的预定义数组170
5.2文件上传173
5.2.1浏览器端文件上传设置173
5.2.2在服务器端通过PHP处理上传174
5.3文件下载178
【项目实现】获取用户注册表单信息并输出180
实践练习184
第6章PHP访问MySQL数据库187
【项目描述】注册用户信息管理187
6.1PHP访问MySQL数据库的流程190
6.2PHP访问MySQL数据库的函数192
6.2.1连接MySQL数据库服务器的函数192
6.2.2获取MySQL错误信息的函数194
6.2.3执行SQL语句的函数195
6.2.4处理结果集的函数196
6.2.5关闭数据库连接的函数200
【项目实现】注册用户信息管理201
【项目扩展1】分页217
【项目扩展2】抽取系统公共文件221
实践练习223
第7章会话控制227
【项目描述】管理员权限验证和注销227
7.1Session的工作原理228
7.2Session的生命周期229
7.3操作Session的函数230
7.4Session配置231
7.5应用实践:保存用户登录信息232
7.6Cookie的使用235
7.7应用实践:自动登录238
7.8Header函数和输出缓存241
【项目实现】管理员权限验证和注销243
【项目扩展】抽取权限验证功能245
实践练习246
第8章PHP进阶248
8.1PHP与Ajax248
8.1.1Ajax概述248
8.1.2XMLHttpRequest对象249
8.1.3应用实践:验证用户名是否可用253
8.1.4jQuery中的Ajax255
8.2PHP中富文本的应用256
8.2.1应用实践:发表图文混排文章257
8.2.2富文本中的上传路径配置260
8.3用PHP发送邮件261
8.3.1PHPMailer261
8.3.2应用实践:使用邮件找回密码265
8.4用PHP生成图表270
8.4.1什么是Echarts270
8.4.2应用实践:使用ECharts统计用户信息273
8.5Excel导入导出277
8.5.1PHPExcel介绍277
8.5.2应用实践:使用PHPExcel进行用户信息导入导出278
8.5.3使用PHPExcel的常见问题282
实践练习283
第9章项目的页面美工284
【项目描述】使用Bootstrap技术美化网页284
9.1Bootstrap简介288
9.2网格系统与排版布局288
9.2.1布局容器288
9.2.2栅格系统288
9.2.3页面布局实例291
9.3表格与表单294
9.3.1表格294
9.3.2表单296
9.4布局组件及插件298
【项目实现】使用Bootstrap技术美化网页303
【项目扩展】显示欢迎注册用户信息312
实践练习316
第10章项目的总体实现及运行318
10.1项目的总体描述318
10.2项目总体功能的实现322
10.2.1视频类别管理子系统的实现322
10.2.2视频管理子系统的实现329
10.2.3前台首页的实现342
10.2.4前台栏目列表页的实现349
10.2.5前台视频详细内容页的实现353
10.2.6留言管理子系统的实现370
10.3系统在新浪云上部署和运行370
【项目扩展】实现管理员推荐视频功能377
实践练习378
第11章PHP中的面向对象编程379
11.1面向对象编程的介绍379
11.1.1什么是类380
11.1.2什么是对象380
11.2如何抽象一个类381
11.2.1类的声明381
11.2.2成员属性382
11.2.3成员方法382
11.3通过类实例化对象383
11.3.1实例化对象383
11.3.2对象中成员的访问384
11.3.3特殊对象引用$this385
11.3.4构造方法和析构方法387
11.3.5static关键字390
11.4封装性391
11.4.1设置私有成员391
11.4.2私有成员的访问392
11.5继承性394
11.5.1类继承的应用395
11.5.2访问类型控制396
11.5.3子类中重载父类的方法398
实践练习400
第12章PHP与MVC开发模式401
12.1MVC模式的工作原理401
12.2MVC模式在项目中的应用402
12.2.1阶段一:构建MVC结构402
12.2.2阶段二:抽取模型层业务逻辑406
12.2.3阶段三:提取访问网站的入口文件410
12.2.4阶段四:抽取视图层功能411
实践练习416
附录417
附录AWAMP安装与配置417
A.1WAMP安装417
A.2WAMP配置419
附录B网站开发测试题422
测试题(一)鲜花信息管理模块422
测试题(二)家具信息管理模块422
测试题(三)软件信息管理模块424
附录CPHP常用函数列表426
附录D学习知识要点及能力要点433
参考文献435

2016年6月,中国成为国际本科工程学位互认协议《华盛顿协议》的正式会员,这是中国工程教育国际化进程的重要里程碑。“回归工程”、培养学生的“大工程观”是当今国际工程教育的主流理念。《华盛顿协议》对毕业生提出的12条素质要求中,不仅要求工程知识、工程能力,还强调通用能力和品德伦理;在实践上,以学生为中心,以产出为导向,注重对目标达成的支撑及持续改进,与CDIO工程教育实质等效。
CDIO工程教育是近年来国际工程教育改革的最新成果,以“预期学习结果”集合来驱动课程内容、教学方法、教育文化的设计,重视营造工程教育文化,其注重工程能力培养和基于工程项目全生命周期的一体化设计思想,对于国内工程类和相关专业的建设具有重要的实施价值。
作为承载了教学改革思想的载体,融入CDIO工程教育理念的高品质教材,东软CDIO工程教育教材在注重理实结合的同时,也注重对学生八大能力的培养,即:技术知识与推理能力,开放式思维与创新,个人职业能力,沟通表达与团队合作,态度与习惯,责任,价值观,实践构思、设计、实现和运行对社会的贡献。
CDIO工程教育教材是 CDIO教育教学改革在教学实施过程中的集中体现,它不仅承载着课程和项目的教学内容,而且贯穿和体现了CDIO工程教育的理念、思想与方法,是在系统化理论的指导下,将知识、能力、素质培养进行一体化设计,有机融合在教材体系中。教材的编写以能力培养为主线,以案例教学为引导,以项目为载体,充分体现“做中学”和“学中做”的思想,具有以下优势:
(1)以能力培养为主线,培养学生专业知识学习能力和工程实践能力。
(2)以案例为驱动,在做案例的过程中学习新知识,充分体现了“做中学”。
(3)以项目为载体,基于工程化教育方法,按照分析、设计、实施、运行展开项目及知识点的讲解。
(4)围绕专业知识结构和能力体系设计教材,实现同一专业下不同教材紧密的关联性。
(5)内容编排循序渐进,符合人的认知规律。
(6)适应柔性化教学变革,构建一体化、立体化教学资源。
CDIO工程教育教材可供以应用型人才为培养目标的高等院校以及职业培训机构作为教材使用。
目前,CDIO工程教育教材的建设还处于探索阶段,是一项创造性的工作,尚需要通过改革的实践不断加以深化和持续改进,任重而道远。