《PHP》(结课作业)答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

北京语言大学网络教育学院《PHP》结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:1)结课作业提交起止时间:2017年8月2日--9月11日。(届时平台自动关闭,逾期不予接收。)2)结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;4)提交文档要求:提交的文档格式为doc、rar,大小10M以内;5)必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。一.论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)1、双引号和单引号的区别。答:双引号解释变量,单引号不解释变量双引号里插入单引号,其中单引号里如果有变量的话,变量解释双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用{}讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误双引号解释转义字符,单引号不解释转义字符,但是解释'\和\\能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)4、语句include和require的区别是什么?为避免多次包含同一文件,可以用什么语句代替他们?答:require-require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行requireinclude-include有返回值,而require没有(可能因为如此require的速度比include快)注意:包含文件不存在或者语法错误的时候require是致命的,include不是1、PHP程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。2、PHP程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。3、require():无条件包含,如果文件不存在,会报出一个fatalerror.脚本停止执行4、include():有条件包含,如果文件不存在,会给出一个warning,但脚本会继续执行5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。二.编程题(本大题共4小题,请任选其中两道题作答,每小题25分,总分50分1、用autoload($class)实现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(notfound{$class}class);}}defined(LIB,'/data/);$author=newLib_Author();-----------------------------------------------------------function__authload($class){$cls=explode(_,$class);if(@is_dir($cls[1])){if(@is_file($cls[2])){include_once(CON_PATH.$cls[1].'/'.$cls[2]..php);}else{dir('error');}}elseif(@is_file($cls[1]..php)){include_once(CON_PATH.$cls[1]..php);}else{dir('error');}}---------------------------------------function__autoload($class){$cls=explode(_,$class);$file=get_file($cls);if($file=='error'){die('error');}include_once($file);}functionget_file($dir){if(is_array($dir)){foreach($diras$k=$v){$tmpdir.=$v.'/';if(is_dir('CON_PATH'.$tmpdir)){continue();}elseif(is_file('CON_PATH'.$tmpdir..php)){return'CON_PATH'.$tmpdir..php;}else{return'error';}}return'error';}return'error';}defined(CON_PATH,/data/);$sb=newcontroller_sb();------------------------------------function__autoload_my_classes($classname){#...yourlogictoincludeclasseshere}spl_autoload_register('__autoload_my_classes');2、用set_error_handle去捕获错误并输出,级别自己定。答:set_error_handle(callback,level)functioncallback(int$errno,string$errstr[,string$errfile[,int$errline[,array$errcontext]]]){}functiondealErrorHandler($errno,$errstr,$errfile,$errline){switch($errno){caseE_USER_ERROR:echoerror[$errno]$errstrfatalerroronline$errlineinfile$errfile;break;caseE_USER_WARNING:echomywarning[$errno]$errstr:break;caseE_USER_NOTICE:echomynotice[$errno]$errstr;break;default:echounkonwnerrortype:[$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);

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功