PHP2017复习大纲+答案(北京科技大学)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6. 简述 PHP 回调函数原理,并用程序说明。 指的就是具有 callable 类型的函数,一般用作参数的传递。如 PHP 内置函数 call_user_func()可以接受用户自定义的回调函数作为参数。
7. 简述 PHP 匿名函数原理,并用程序说明。 就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于 临时定义的函数,使用匿名函数无需考虑函数命名冲突的问题。
型和元素个数
2. PHP 标识符的定义需要遵循的规则是什么? 标识符:PHP 程序开发中,经常需要自定义一些符号来标记一些名称,如变
量名、函数名、类名等,这些符号被称为标识符。 标识符的定义需要遵循一定的规则,具体如下: 标识符只能由字母、数字、下划线组成,且不能包含空格 标识符只能以字母或下划线开头的任意长度的字符组成 标识符用做变量名时,区分大小写 如果标识符由多个单词组成,那么应使用下划线进行分隔(例如:user_name)
64
类似 E_ERROR,是由 Zend 脚本引擎产生的
128 类似 E_WARNING,是由 Zend 脚本引擎产生的
256 类似 E_ERROR,由用户在代码中使用 trigger_error()产生的
类似 E_WARNING,由用户在代码Leabharlann Baidu使用 trigger_error()产 生 512
的
1024 类似 E_NOTICE,由用户在代码中使用 trigger_error()产生的
E_ALL
1
致命的运行时错误,这类错误不可恢复,会导致脚本 停止运 行
2
运行时警告,仅提示信息,但是脚本不会停止运行
4
编译时语法解析错误,说明代码存在语法错误,无法执行
8
运行时通知,表示脚本遇到可能会表现为错误的情况
16
类似 E_ERROR,是由 PHP 引擎核心产生的
32
类似 E_WARNING,是由 PHP 引擎核心产生的
)
16. 图示 PHP 图像操作流程。
17. 请简述 MVC 的基本原理,并列举 3 个常用的 MVC PHP 框架。 MVC 是一种软件设计典范能被用于组织代码用一种业务逻辑和数据显示分离的 方法。这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和 用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑 MVC 被 独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户 界面的结构中。 MVC(Model View Controller)模型(model)-视图(view)-控制器(controller)。MVC 本来是存在于 Desktop 程序中的,M 是指数据模型,V 是指用户界面,C 则是控
23. 简述瀑布开发模型中编码要做的工作包括哪些? 任务 编写程序 进行单元测试,撰写单元测试报告 输入 软件总体结构设计规格说明书 软件数据设计规格说明书 软件接口设计规格说明书 软件详细设计规格说明书 单元测试计划 实施 根据软件总体结构设计规格说明书、软件数据设计规格说明书、软件接口设计规 格说明书、软件详细设计规格说明书进行编码 根据单元测试计划对各个模块进行单元测试 输出 经过单元测试的软件模块源程序 单元测试报告 24. 简述瀑布开发模型中集成测试和确认测试要做的工作包括哪些? 集成测试: 任务:集成各个软件模块进行测试
但是不同的是带“_once”的语句会先检查要包含的文件是否已经被包含过,避 免了同一文件被重复包含的情况。 5. 简述 PHP 可变函数原理,并用程序说明。 可变变量,它的实现是在一个变量前添加一个“$”符号,就变成了另外一个变量。 同理,可变函数的实现就是在一个变量名后添加一对圆括号“()”,让其变成一个 函数的形式,然后 PHP 就寻找与变量值同名的函数,并且尝试执行它。
查看数据库中已有的表 查看指定表的字段信息 查看指定表的某一列信息 查看数据表创建语句和字符编码 查看表的结构 添加字段 修改字段名称 修改字段类型 删除指定字段 修改数据表名称 将名字为 stu 的表重命名为 student 删除存在的数据表 student
14. 图示 PHP 访问 MySQL 的基本步骤。 ① 首先需要启动 MySQL 数据库服务器,输入用户名和密码; ② 然后选择要操作的数据库,执行具体 SQL 语句,获取到结果。
3. 简述 PHP 中支持 3 类数据类型是什么?
标量数据类型 复合数据类型 特殊数据类型(PPT 73 页及之后)
数据类型
标量类型 复合类型 特殊类型
boolean(布尔型) integer(整型) float(浮点型) string(字符串型) array(数组) object(对象) resource(资源) NULL(空值)
10. 简述快速法排序的基本原理,并用例子说明。(示例 P225) 快速排序:是对冒泡排序的一种优化。 实现原理:首先选择一个基准元素,通常选择待排序数组的第 1 个数组元素。通 过一趟排序,将要排序的数组分成两个部分,其中一部分比基准元素小,另一部 分比基准元素大,然后再利用同样的方法递归的排序划分出的两部分,直到将所 有划分的数组排序完成。
4. 简述 require 语句与 include 语句,以及 include_once、require_once 语句的 区别? 均为文件包含语句 include '文件路径'; 在包含文件时,如果没有找到文件,include 语句会发生警告信息,程序继续
运行;而 require 语句会发生致命错误,程序停止运行。 虽然 include_once、require_once 语句,和 include、require 的作用几乎相同,
常用的软件开发过程模型:瀑布模型 原型模型 增量模型 迭代模型 螺旋模型
22. 简述瀑布开发模型中都包括哪些技术活动和管理活动。
➢ 技术活动: 需求分析 概要设计 详细设计 编码 集成测试 撰写出版物 用户确认测试 软件发布
➢ 管理活动: 制定初步软件开发计划 制定详细软件开发计划 制定软件配置管理计划 制定软件质量保证计划 项目跟踪和监督 配置管理 用户培训
功能
示例
描述
查看数据库 创建数据库 选择数据库 删除数据库
SHOW DATABASES; CREATE DATABASE `itheima`; USE `itheima`; DROP DATABASE `itheima`;
显示 MySQL 数据库服务器中已有的数据库 创建一个名称为 itheima 的数据库 选择数据库 itheima 进行操作 删除数据库 itheima
2048 严格语法检查,确保代码具有互用性和向前兼容性
8192
运行时通知,对未来版本中可能无法正常工作的代码 给出 警 告
表 示 所 有 的 错 误 和 警 告 信 息 ( 在 PHP 5.4 之 前 不 包 括 32767
E_STRICT)
12. 数据库的管理主要包括查看数据库、创建数据库、选择数据库和删除数据库, 请写出相应命令。
8. 给定一个字符串“$url = 'C:\web\apache2.4\htdocs\cat.jpg';”,编写程序分别输 出字符串中的文件名和文件所在路径。(P165) $url = 'C:\web\apache2.4\htdocs\cat.jpg'; $pos = strrpos($url, '\\'); // 截取文件名称,输出结果:cat.jpg echo substr($url, $pos + 1); // 截取文件所在的路径,输出结果:C:\web\apache2.4\htdocs echo substr($url, 0, $pos);
15. 什么是 PHP 操作 MySQL 的预处理?请用程序说明预处理中模板绑定参数 的方法。(P438) (p442)
mysqli_stmt_bind_param()函数用于将变量作为参数绑定到预处理语句中。 bool mysqli_stmt_bind_param ( mysqli_stmt $stmt, // 预处理对象 string $types, // 数据类型 mixed &$var1, // 绑定变量 1(引用传参) [, mixed&$... ] // 绑定变量 n...(可选参数,可绑定多个,引用传参
制器。使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以 使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C 存在的目的则是确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。 例如,国外的有 Zend Framework、Laravel、Yii、Symfony、CodeIgniter 等; 国内也有比较流行的框架,如 ThinkPHP。 18. 简述 ThinkPHP 中 URL 路径访问和模块控制器之间的关系包括哪几种?
19. 简述 ThinkPHP 中数据库实例化模型包括哪四种,并简述基本原理。(ppt34)
20. 简述 ThinkPHP 中的 CURD 是什么,并简述基本原理。 CURD ( create(add), update, read ,delete , (save))
21. 软件开发过程模型包括哪些?分别有什么优缺点? 软件开发模型是软件开发全过程、软件开发活动以及它们之间关系的的结 构框, 指导软件开发,以及软件开发过程的定义
13. 请写出“查看数据表、查看表结构、修改表结构、修改表结构、重命名、删除 数据表”对应的命令。
功能
示例
描述
查看数据表 查看表结构 修改表结构 修改表结构
重命名 删除数据表
SHOW TABLES; DESC `student`; DESC `student` `name`; SHOW CREATE TABLE `student`\G SHOW COLUMNS FROM `student`; ALTER TABLE `student` ADD `area` VARCHAR(100); ALTER TABLE `student` CHANGE `area` `desc` CHAR(50); ALTER TABLE `student` MODIFY `desc` VARCHAR(255); ALTER TABLE `student` DROP `desc`; ALTER TABLE `student` RENAME `stu`; RENAME TABLE `stu` TO `student`; DROP TABLE IF EXISTS `student`;
9. 简述二分查找法的基本原理,并用例子说明。(示例 P219) 二分查找法:针对有序数组的一种查找法,它的查询效率非常高。 实现原理:每次将查找值与数组中间位置元素的值进行比较,相等返回;不等则 排除掉数组中一半的元素,然后根据比较结果大或小,再与数组中剩余一半中间 位置元素的值进行比较,以此类推,直到找到目标值或查找失败。
11. 简述 PHP 的错误级别,并说明错误级别的名称和对应的值。 PHP 中的每个错误都有一个错误级别与之关联,用于表示当前错误的等级。 例如 Error、Warning、Notice 等错误。 PHP 采用常量的形式来表示错误级别,每个错误级别都是一个整型。
级别常量
值
描述
E_ERROR E_WARNING E_PARSE E_NOTICE E_CORE_ERROR E_CORE_WARNING E_COMPILE_ERROR E_COMPILE_WARNING E_USER_ERROR E_USER_WARNING E_USER_NOTICE E_STRICT E_DEPRECATED
期末复习大纲
1. PHP 输出语句主要包括哪 4 个? echo: 可将紧跟其后的一个或多个字符串、表达式、变量和常量的值输出到
页面中,多个数据之间使用逗号“,”分隔 print: 与 echo 的用法相同,唯一的区别是 print 只能输出一个值 print r():PHP 的内置函数,它可输出任意类型的数据,如字符串、数组等 var dump():不仅可以打印一个或多个任意类型的数据,还可以获取数据的类
7. 简述 PHP 匿名函数原理,并用程序说明。 就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于 临时定义的函数,使用匿名函数无需考虑函数命名冲突的问题。
型和元素个数
2. PHP 标识符的定义需要遵循的规则是什么? 标识符:PHP 程序开发中,经常需要自定义一些符号来标记一些名称,如变
量名、函数名、类名等,这些符号被称为标识符。 标识符的定义需要遵循一定的规则,具体如下: 标识符只能由字母、数字、下划线组成,且不能包含空格 标识符只能以字母或下划线开头的任意长度的字符组成 标识符用做变量名时,区分大小写 如果标识符由多个单词组成,那么应使用下划线进行分隔(例如:user_name)
64
类似 E_ERROR,是由 Zend 脚本引擎产生的
128 类似 E_WARNING,是由 Zend 脚本引擎产生的
256 类似 E_ERROR,由用户在代码中使用 trigger_error()产生的
类似 E_WARNING,由用户在代码Leabharlann Baidu使用 trigger_error()产 生 512
的
1024 类似 E_NOTICE,由用户在代码中使用 trigger_error()产生的
E_ALL
1
致命的运行时错误,这类错误不可恢复,会导致脚本 停止运 行
2
运行时警告,仅提示信息,但是脚本不会停止运行
4
编译时语法解析错误,说明代码存在语法错误,无法执行
8
运行时通知,表示脚本遇到可能会表现为错误的情况
16
类似 E_ERROR,是由 PHP 引擎核心产生的
32
类似 E_WARNING,是由 PHP 引擎核心产生的
)
16. 图示 PHP 图像操作流程。
17. 请简述 MVC 的基本原理,并列举 3 个常用的 MVC PHP 框架。 MVC 是一种软件设计典范能被用于组织代码用一种业务逻辑和数据显示分离的 方法。这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和 用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑 MVC 被 独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户 界面的结构中。 MVC(Model View Controller)模型(model)-视图(view)-控制器(controller)。MVC 本来是存在于 Desktop 程序中的,M 是指数据模型,V 是指用户界面,C 则是控
23. 简述瀑布开发模型中编码要做的工作包括哪些? 任务 编写程序 进行单元测试,撰写单元测试报告 输入 软件总体结构设计规格说明书 软件数据设计规格说明书 软件接口设计规格说明书 软件详细设计规格说明书 单元测试计划 实施 根据软件总体结构设计规格说明书、软件数据设计规格说明书、软件接口设计规 格说明书、软件详细设计规格说明书进行编码 根据单元测试计划对各个模块进行单元测试 输出 经过单元测试的软件模块源程序 单元测试报告 24. 简述瀑布开发模型中集成测试和确认测试要做的工作包括哪些? 集成测试: 任务:集成各个软件模块进行测试
但是不同的是带“_once”的语句会先检查要包含的文件是否已经被包含过,避 免了同一文件被重复包含的情况。 5. 简述 PHP 可变函数原理,并用程序说明。 可变变量,它的实现是在一个变量前添加一个“$”符号,就变成了另外一个变量。 同理,可变函数的实现就是在一个变量名后添加一对圆括号“()”,让其变成一个 函数的形式,然后 PHP 就寻找与变量值同名的函数,并且尝试执行它。
查看数据库中已有的表 查看指定表的字段信息 查看指定表的某一列信息 查看数据表创建语句和字符编码 查看表的结构 添加字段 修改字段名称 修改字段类型 删除指定字段 修改数据表名称 将名字为 stu 的表重命名为 student 删除存在的数据表 student
14. 图示 PHP 访问 MySQL 的基本步骤。 ① 首先需要启动 MySQL 数据库服务器,输入用户名和密码; ② 然后选择要操作的数据库,执行具体 SQL 语句,获取到结果。
3. 简述 PHP 中支持 3 类数据类型是什么?
标量数据类型 复合数据类型 特殊数据类型(PPT 73 页及之后)
数据类型
标量类型 复合类型 特殊类型
boolean(布尔型) integer(整型) float(浮点型) string(字符串型) array(数组) object(对象) resource(资源) NULL(空值)
10. 简述快速法排序的基本原理,并用例子说明。(示例 P225) 快速排序:是对冒泡排序的一种优化。 实现原理:首先选择一个基准元素,通常选择待排序数组的第 1 个数组元素。通 过一趟排序,将要排序的数组分成两个部分,其中一部分比基准元素小,另一部 分比基准元素大,然后再利用同样的方法递归的排序划分出的两部分,直到将所 有划分的数组排序完成。
4. 简述 require 语句与 include 语句,以及 include_once、require_once 语句的 区别? 均为文件包含语句 include '文件路径'; 在包含文件时,如果没有找到文件,include 语句会发生警告信息,程序继续
运行;而 require 语句会发生致命错误,程序停止运行。 虽然 include_once、require_once 语句,和 include、require 的作用几乎相同,
常用的软件开发过程模型:瀑布模型 原型模型 增量模型 迭代模型 螺旋模型
22. 简述瀑布开发模型中都包括哪些技术活动和管理活动。
➢ 技术活动: 需求分析 概要设计 详细设计 编码 集成测试 撰写出版物 用户确认测试 软件发布
➢ 管理活动: 制定初步软件开发计划 制定详细软件开发计划 制定软件配置管理计划 制定软件质量保证计划 项目跟踪和监督 配置管理 用户培训
功能
示例
描述
查看数据库 创建数据库 选择数据库 删除数据库
SHOW DATABASES; CREATE DATABASE `itheima`; USE `itheima`; DROP DATABASE `itheima`;
显示 MySQL 数据库服务器中已有的数据库 创建一个名称为 itheima 的数据库 选择数据库 itheima 进行操作 删除数据库 itheima
2048 严格语法检查,确保代码具有互用性和向前兼容性
8192
运行时通知,对未来版本中可能无法正常工作的代码 给出 警 告
表 示 所 有 的 错 误 和 警 告 信 息 ( 在 PHP 5.4 之 前 不 包 括 32767
E_STRICT)
12. 数据库的管理主要包括查看数据库、创建数据库、选择数据库和删除数据库, 请写出相应命令。
8. 给定一个字符串“$url = 'C:\web\apache2.4\htdocs\cat.jpg';”,编写程序分别输 出字符串中的文件名和文件所在路径。(P165) $url = 'C:\web\apache2.4\htdocs\cat.jpg'; $pos = strrpos($url, '\\'); // 截取文件名称,输出结果:cat.jpg echo substr($url, $pos + 1); // 截取文件所在的路径,输出结果:C:\web\apache2.4\htdocs echo substr($url, 0, $pos);
15. 什么是 PHP 操作 MySQL 的预处理?请用程序说明预处理中模板绑定参数 的方法。(P438) (p442)
mysqli_stmt_bind_param()函数用于将变量作为参数绑定到预处理语句中。 bool mysqli_stmt_bind_param ( mysqli_stmt $stmt, // 预处理对象 string $types, // 数据类型 mixed &$var1, // 绑定变量 1(引用传参) [, mixed&$... ] // 绑定变量 n...(可选参数,可绑定多个,引用传参
制器。使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以 使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C 存在的目的则是确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。 例如,国外的有 Zend Framework、Laravel、Yii、Symfony、CodeIgniter 等; 国内也有比较流行的框架,如 ThinkPHP。 18. 简述 ThinkPHP 中 URL 路径访问和模块控制器之间的关系包括哪几种?
19. 简述 ThinkPHP 中数据库实例化模型包括哪四种,并简述基本原理。(ppt34)
20. 简述 ThinkPHP 中的 CURD 是什么,并简述基本原理。 CURD ( create(add), update, read ,delete , (save))
21. 软件开发过程模型包括哪些?分别有什么优缺点? 软件开发模型是软件开发全过程、软件开发活动以及它们之间关系的的结 构框, 指导软件开发,以及软件开发过程的定义
13. 请写出“查看数据表、查看表结构、修改表结构、修改表结构、重命名、删除 数据表”对应的命令。
功能
示例
描述
查看数据表 查看表结构 修改表结构 修改表结构
重命名 删除数据表
SHOW TABLES; DESC `student`; DESC `student` `name`; SHOW CREATE TABLE `student`\G SHOW COLUMNS FROM `student`; ALTER TABLE `student` ADD `area` VARCHAR(100); ALTER TABLE `student` CHANGE `area` `desc` CHAR(50); ALTER TABLE `student` MODIFY `desc` VARCHAR(255); ALTER TABLE `student` DROP `desc`; ALTER TABLE `student` RENAME `stu`; RENAME TABLE `stu` TO `student`; DROP TABLE IF EXISTS `student`;
9. 简述二分查找法的基本原理,并用例子说明。(示例 P219) 二分查找法:针对有序数组的一种查找法,它的查询效率非常高。 实现原理:每次将查找值与数组中间位置元素的值进行比较,相等返回;不等则 排除掉数组中一半的元素,然后根据比较结果大或小,再与数组中剩余一半中间 位置元素的值进行比较,以此类推,直到找到目标值或查找失败。
11. 简述 PHP 的错误级别,并说明错误级别的名称和对应的值。 PHP 中的每个错误都有一个错误级别与之关联,用于表示当前错误的等级。 例如 Error、Warning、Notice 等错误。 PHP 采用常量的形式来表示错误级别,每个错误级别都是一个整型。
级别常量
值
描述
E_ERROR E_WARNING E_PARSE E_NOTICE E_CORE_ERROR E_CORE_WARNING E_COMPILE_ERROR E_COMPILE_WARNING E_USER_ERROR E_USER_WARNING E_USER_NOTICE E_STRICT E_DEPRECATED
期末复习大纲
1. PHP 输出语句主要包括哪 4 个? echo: 可将紧跟其后的一个或多个字符串、表达式、变量和常量的值输出到
页面中,多个数据之间使用逗号“,”分隔 print: 与 echo 的用法相同,唯一的区别是 print 只能输出一个值 print r():PHP 的内置函数,它可输出任意类型的数据,如字符串、数组等 var dump():不仅可以打印一个或多个任意类型的数据,还可以获取数据的类