【课程简介】
(一)本门课程是一门重要的专业技能课程,也是一门实践性很强的课程。课程主要讲解PHP的相关知识及PHP在WEB应用程序开发中的实际应用,通过具体案例,使学生巩固数据库、网页制作等专业知识,更好地进行开发实践。
(二)通过该课程的学习,使学生掌握动态网页制作的基本操作技能,并能熟练应用于中小型动态网站的建设中,在项目实践中提高学生的动手能力和创新能力。
【课堂环境】
【课程内容与教学基本要求】
部分 PHP入门 4学时
教学目的: 通过学习,学生可以了解PHP程序的工作流程,并可以编写、运行简单的PHP程序。
【了解】:PHP优势以及应用领域、内嵌式脚本语言
【掌握】:在windows中安装、配置PHP开发环境以及运行环境
【重点】:PHP程序工作流程以及PHP运行环境的安装、配置
【难点】:PHP程序的工作流程
在windows中配置Apache、PHP以及MySQL。
解锁个PHP程序的工作流程
第二部分 PHP基础 4学时
教学目的: 通过学习,学生可以从整体上认识PHP程序的各个组成部分,并可以制作功能简单的用户注册系统。
【了解】:PHP代码基本语法、以及基本的编码规范
【掌握】:PHP程序的组成
基本的程序格式与输出语句
【重点】:PHP数据、PHP数据类型、浏览器端的数据采集、PHP程序的数据采集、PHP数据处理、PHP数据的输出
【难点】:编程规范习惯的养成
PHP数据、PHP数据类型、浏览器端的数据采集、PHP程序的数据采集、PHP数据处理、PHP数据的输出
第三部分 PHP表达式 4学时
教学目的:通过学习,学生可以了解变量、常量、常用运算符、变量状态函数以及类型转换的相关知识,为今后设计更为复杂的程序奠定坚实的基础。
【了解】:常量、变量的特点以及在内存的表现形式
【掌握】:有关变量或常量状态的函数、PHP运算符、数据类型的转换
【重点】:isset()函数、unset()函数、empty()函数的使用
字符串连接运算符、错误抑制符、比较运算符等运算符的使用
数据类型的转换
【难点】:理解“空”与NULL的区别
数据类型的自动转换
第四部分 PHP流程控制 4学时
教学目的:通过学习,学生可以了解条件控制结构、循环结构以及程序跳转和终止语句3种类型的PHP流程控制语句,这3种类型的流程控制构成了面向过程编程的核心。通过学习,为今后设计更为复杂的程序奠定坚实的基础。
【了解】:条件控制语句、循环语句、程序跳转以及终止语句
【掌握】: if…else…语句、switch语句、while语句以及break语句、continue语句、exit语句。
【重点】: if…else…语句、switch语句、while语句以及break语句、continue语句、exit语句。
【难点】:switch语句、while语句以及break语句、continue语句、exit语句
第五部分 PHP数组 4学时
教学目的:通过学习,学生可以了解数组的基本概念以及数组常用的处理函数,并掌握几种数组遍历方法。
【了解】:数组的基本概念、数组的创建
【掌握】:数组的创建、数组的遍历各种方法、常用数组函数的使用
【重点】:数组的遍历foreach语言结构、常用数组函数的使用、数组内部指针
【难点】:各种数组遍历的方法
常用数组函数的使用,例如快速创建数组的函数、数组统计函数、数组指针函数、数组和变量间的转换函数、数组遍历语言结构、数组检索函数
第六部分 PHP的数据采集 4学时
教学目的:通过学习,学生可以了解浏览器端数据的各种提交方式,如何创建FORM表单实现浏览器端的数据采集, PHP程序各种数据采集的方法,以及如何实现文件的上传功能。通过本章的学习,读者可以结合PHP数组实现功能复杂的“用户注册系统”。
【了解】:浏览器端数据的提交方式、相对路径和路径、使用FORM表单实现浏览器端的数据采集、使用$_GET和$_POST“采集”表单数据、上传文件的“数据采集”以及WEB服务器端其他数据采集方法
【掌握】:GET以及POST提交方式的区别、相对路径和路径的区别
【重点】:设计FORM表单、文件上传的表单的设计以及如何实现文件上传功能
【难点】:在FORM表单中使用数组
文件上传的具体流程、与文件上传有关的配置
多文件上传的实现(可以参考习题以及习题答案)
第七部分 PHP自定义函数 4学时
教学目的:通过学习,学生可以了解PHP文件间相互引用的4个PHP语言结构,如何创建和调用用户自定义函数,创建具有文件上传功能的自定义函数,重构“用户注册系统”的代码,增强代码重用性。
【了解】:PHP文件间相互引用的4个PHP语言结构、创建和调用用户自定义函数、static关键字以及global关键字的作用
【掌握】:include_once与include语言结构的区别
static关键字以及global关键字的使用
return语言结构的使用
【重点】:设计具有文件上传功能的自定义函数,重构“用户注册系统”的代码设计
【难点】:static关键字以及global关键字的使用
return语言结构的使用
如何使用函数增强代码重用性
第八部分 MySQL数据库 4学时
教学目的:通过学习,学生可以了解数据库的功能、数据库常用的专业术语、常用的SQL语句。通过具体案例学生管理系统设计该系统的数据库,通过学习,学生具备简单数据库系统设计与开发的能力,为今后设计更为复杂的应用系统奠定坚实的基础。
【了解】:数据库的基本概念、专业术语,数据库设计流程、MySQL的基本知识
【掌握】:MySQL存储引擎的概念以及常用的存储引擎
MySQL字符集的设置
MySQL数据库管理
表的管理
更新操作
查询操作
【重点】:数据库的设计流程,如何设计E-R图
主键、外键、约束等专业术语在MySQL数据库中的实现
常用的存储引擎例如MyISAM存储引擎、InnoDB存储引擎
MySQL字符集的设置
MySQL数据库管理、表的管理、更新操作、查询操作
【难点】:数据库的设计流程、开发流程
如何设计数据库表、如何选择数据库表的主键
如何防止中文乱码问题
Create语句、drop语句的使用
Select语句的使用、insert语句、update语句、delete语句的使用
如何实现分页
MySQL特殊字符序列
第九部分 PHP与MySQL数据库 8学时
教学目的:结合学生管理系统数据库,通过学习,学生可以了解使用PHP函数实现PHP与MySQL数据库之间的交互过程,并以用户注册系统为例学习该系统的实现过程。通过学习,学生可以具备简单WEB应用系统设计与开发的能力。
【了解】:PHP中常用的MySQL操作函数
【掌握】:数据库连接函数的使用
字符集设置的方法
结果集遍历函数的使用
【重点】:如何开启数据库连接、如何关闭数据库连接、关闭数据库连接的时机
字符集设置的方法
结果集遍历函数的使用
用户注册系统的实现
【难点】:关闭数据库连接的时机
如何防止SQL注入问题
第十部分 新闻发布系统的开发 8学时
教学目的:通过学习,学生可以了解传统的结构化方法开发MIS系统的方法、流程以及分页函数的制作过程,并具备复杂WEB应用系统设计与开发的能力。
【了解】:结构化方法开发MIS系统的开发步骤
【掌握】:结构化方法开发MIS系统的开发步骤
新闻发布系统系统规划步骤
新闻发布系统系统系统分析步骤
新闻发布系统系统设计步骤
新闻发布系统系统实施步骤
分页的原理
【重点】:新闻发布系统系统编码实施
分页的原理以及实现
【难点】:新闻发布系统系统编码实施
分页的实现以及分页函数的制作
第十一部分 PHP会话控制 4学时
教学目的:通过学习,学生可以掌握PHP页面间参数传递的所有方法,页面跳转的方法,使用Cookie和Session实现PHP会话控制的方法,结合“新闻发布系统”使用Cookie和Session实现该系统安全访问与权限控制。
【了解】:PHP页面间参数传递的方法、重定向的概念、会话控制的概念
【掌握】:Cookie会话技术
Session会话技术
header()函数的使用
重定向的实现
文件下载的实现
【重点】:使用Cookie会话技术以及Session会话技术,结合新闻发布系统系统实现该系统的安全访问与权限控制。
文件下载的实现
使用header()函数控制服务器响应的内容
【难点】:Cookie与Session的使用场景
关闭浏览器Cookie,如何实现会话控制?
如何实现文件下载?
使用header()函数控制服务器响应的内容
浏览器缓存的远程控制
第十二部分 字符串处理 4学时
教学目的:通过学习,学生可以掌握PHP提供的字符串处理函数,结合新闻发布系统,修改该系统的几处bug、增强该系统的功能。
【了解】:字符串的指定方法、字符串处理函数
【掌握】:字符串三种指定方法
常用的字符串处理函数
【重点】:字符串修剪函数的使用
字符串长度函数的使用
子字符串操作函数的使用
字符串比较函数的使用
字符串连接和分割函数的使用
字符串替换函数的使用
URL处理函数的使用
【难点】:字符串中的字符处理
在新闻发布系统中,如何修改该系统的bug、增强该系统的功能。
第十三部分 新闻发布系统的页面美工 8学时
教学目的:通过学习,学生可以掌握新闻发布系统页面美工的相关知识,在线编辑器FCKeditor的使用,使用DIV + CSS实现网页布局和样式的方法以及如何将动态PHP页面代码嵌入到静态网页布局中。通过学习,学生可以制作一个美观大方的新闻发布系统。
【了解】:JavaScript脚本语言、FCKeditor在线编辑器、新闻发布系统页面布局的实现、新闻发布系统静态和动态页面的嵌入
【掌握】:简单JavaScript函数的制作
FCKeditor在线编辑器的使用
DIV+CSS的使用
静态代码与动态代码的嵌入
【重点】:FCKeditor在线编辑器的二次开发
如何使用DIV+CSS实现页面布局
如何实现静态和动态页面的嵌入
【难点】:FCKeditor的配置
FCKeditor在新闻发布系统中的应用
FCKeditor的文件管理(上传、浏览)
使用DIV+CSS实现新闻发布系统页面布局
静态和动态页面的嵌入