201809考试批次《PHP》(结课作业)

上传人:A11****业论文 文档编号:118823520 上传时间:2019-12-26 格式:DOC 页数:10 大小:45KB
返回 下载 相关 举报
201809考试批次《PHP》(结课作业)_第1页
第1页 / 共10页
201809考试批次《PHP》(结课作业)_第2页
第2页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《201809考试批次《PHP》(结课作业)》由会员分享,可在线阅读,更多相关《201809考试批次《PHP》(结课作业)(10页珍藏版)》请在金锄头文库上搜索。

1、201809考试批次PHP结课作业学生姓名 学习中心 学号 专 业 年级层次北京语言大学网络教育学院PHP结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:1) 结课作业提交起止时间:2018年8月1日-9月10日。(届时平台自动关闭,逾期不予接收。)2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;

2、5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。一. 论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)1、 双引号和单引号的区别。答:双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 单引号里面的不进行解释,直接输出。双引号中的内容可以被解释并被替换,单引号串中的内容则被作为普通字符处理。2、 请简述PHP常用的超全局变量(8个)。答:在 PHP 中,支持8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。1. 布尔类型(boolean) 2. 整型(integer) 3. 浮点型(float) 4.

3、字符串(string) 5. 复合类型 数组(array) 6. 复合类型 对象(class) 7. 特殊类型 资源(resource) 8. 特殊类型空类型(NULL)3、简述优化数据库的方法?答:1、创建索引 2、复合索引 3、索引不会包含有NULL值的列 4、使用短索引 5、排序的索引问题 6、like语句操作 7、不要在列上进行运算 8、不使用NOT IN和操作4、语句include和require的区别是什么?为避免多次包含同一文件,可以用什么语句代替他们?答:require-require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行 require

4、 include-include有返回值,而require没有(可能因为如此require的速度比include快) 注意:包含文件不存在或者语法错误的时候require是致命的,include不是1、PHP程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。2、PHP程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。3、require() :无条件包含,如果文件不存在,会报出一个fatal error.脚本停止执行4、include() : 有条件包含,如果文件不存在

5、,会给出一个 warning,但脚本会继续执行5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。5、说明php中传值与传引用的区别,并说明传值什么时候传引用?答:按值传递:函数范围内对值的任何改变在函数外部都会被忽略按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。二. 编程题(本大题共4小题,请任选其中两道题作答,每小题25分,总分50分1、 用autoload($class) 实现

6、Lib目录下的类的自动加载并可以兼容子目录。答:$request-action = lcfirst(implode(array_map( ucfirst, explode(-, strtolower($request-action) ); - function _autoload($class) $cls = strtolower(str_replace(_,/,$class); if(file_exsits(LIB.$cls.php) include_once(LIB.$cls.php); else die(not found $class class); defined(LIB,/data

7、/wwwroot/ $author = new Lib_Author(); - function _authload($class) $cls = explode(_,$class); if(is_dir($cls1) if(is_file($cls2) include_once(CON_PATH.$cls1./.$cls2.php); else dir(error); else if(is_file($cls1.php) include_once(CON_PATH.$cls1.php); else dir(error); - function _autoload($class) $cls =

8、 explode(_,$class); $file = get_file($cls); if($file=error) die(error); include_once($file); function get_file($dir) if(is_array($dir) foreach($dir as $k=$v) $tmpdir .= $v./; if(is_dir(CON_PATH.$tmpdir) continue(); else if(is_file(CON_PATH.$tmpdir.php) return CON_PATH.$tmpdir.php; else return error;

9、 return error; return error; defined(CON_PATH,/data/wwwroot/ $sb = new controller_sb(); - function _autoload_my_classes($classname) # . your logic to include classes here spl_autoload_register(_autoload_my_classes); -2、用set_error_handle 去捕获错误并输出, 级别自己定。答:set_error_handle(callback,level) function cal

10、lback(int $errno , string $errstr , string $errfile , int $errline , array $errcontext ) function dealErrorHandler($errno,$errstr,$errfile,$errline) switch($errno) case E_USER_ERROR: echo error $errno $errstr fatal error on line $errline in file $errfile; break; case E_USER_WARNING: echo my warning

11、$errno $errstr: break; case E_USER_NOTICE: echo my notice$errno $errstr; break; default: echo unkonwn error type :$errno $errstr; break; set_erro_handler(dealErrorHandler); trigger_error(notice, E_USER_NOTICE); trigger_error(warning, E_USER_WARNING); trigger_error(error, E_USER_ERROR); 3、简述两种屏蔽php程序

12、的notice警告的方法。答:初始化变量,文件开始设置错误级别或者修改php.ini 设置error_reporting set_error_handler 和 抑制错误 1.在程序中添加:error_reporting (E_ALL & E_NOTICE); 2.或者修改php.ini中的:error_reporting = E_ALL 改为:error_reporting = E_ALL & E_NOTICE 2. error_reporting(0);或者修改php.inidisplay_errors=Off 4、 有如下数据库, 用原生态mysql扩展去连接并查询user表的前十行。h

13、ost: 192.168.0.254port: 3306user: onepass: piecedatabase: db_usertable: user答:$link = mysql_connect(192.168.0.254:3306,one,piece) or die(Could not connect: .mysql_error(); mysql_select_db(db_user,$link); $query = mysql_query(select * from user limit 10); while($rs = mysql_fetch_array($query,MYSQL_ASSOC)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号