PHP笔记5-流程控制,文件加载,错误处理

来源:互联网 发布:centos 查看硬件配置 编辑:程序博客网 时间:2024/05/21 09:32

流程控制

分支结构:

if语句

switch

循环结构

while循环:

do  while

for循环

foreach循环

循环的中断:

break  n】; 对该循环语句完全终止,然后去执行该循环语句的“后续语句”;

continue  n】;对该循环语句的当次循环停止执行,然后回到循环的“头部”继续下一次的循环工作(比如判断是否满足条件);

流程控制的替代语法:

if (  条件  

语句块1。。。

else 

语句块2。。。

endif

goto语句:不要去用!

控制脚本执行顺序

die(字符串)/exit(字符串)完全停止脚步的执行。

sleep$n):让脚本停止执行指定的秒数,然后继续执行后续代码;

文件加载

综述和基本语法:

include,  include_once,  require,  require_once

他们含义和用法都几乎一样!

区别只在于2点:载入失败时的处理,载入重复文件时的处理

文件加载的路径问题:

相对路径(常用):

./

../

绝对路径:

2种:

本地绝对路径(常用)

形式是:  include  ‘c:/d/e/dir/page1.php’; //但实际代码中,绝对不要用这种直接路径

常用的其实是这样的:

include  __DIR__  .  “\page1.php”;

include  $_SERVER[‘DOCUMENT_ROOT’]  .  ‘\page1.php’;

互联网绝对路径:

include  “http://www.abc.com/page1.php”; //实际这里载入的通常也都是html文件

//因为该服务器会将该php文件执行后返回过来

include  “http://www.abc.com/page2.html”;

“无路径”(不推荐):

include  ‘page1.php’; //通常会在当前网页所在路径找到该文件。

文件载入和执行过程详解

第一步:退出当前include所在的php代码环境,进入html代码环境

第二步:然后将要载入的文件内容“放置”在此位置,并执行之;

第三步:最后,再重新进入php模式,继续执行之前include语句的后续语句;

4个载入语句的区别

includerequire的区别:

     前者载入失败,会继续执行后续程序,后者却会停止脚本执行;

include_oncerequire_once的区别:

     同includerequire的区别

includeinclude_once的区别:

     前者不会判断文件的重复性,如果多次加载,都会加载进来。后者有内部判断,能够保证只加载一次。

requirerequire_once的区别:

    同 includeinclude_once的区别

在被载入文件中return语句的作用

1,能够中断载入过程,即该语句之后的被载入文件内容不再载入;

2,还能够用它来返回一个数据——主文件中自然可以去“接收”该数据;

错误处理

错误的分类:语法错误,运行时错误,逻辑错误。

错误的分级:其实就是一些错误的代号而已:

系统错误: E_ERROR, E_WARNING, E_NOTICE

用户自定义错误:E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE

其他:E_STRICT,  E_ALL

错误的触发

系统触发:确实有错误,然后就触发该错误了。

自定义触发:本来是没有错误,但因为我们业务的需要,要将某些情况“规定”为错误,此时我们就可以自己来主动创建错误——自定义触发。

错误报告的显示问题

是否显示错误报告(display_errors)

php.ini中:display_errors = On  或 Off

php脚本代码中: ini_set(“display_errors”,  10);

显示哪些级别的错误报告(error_reporting)

php.ini中:error_reporting = 若干个错误代号的“按位或”运算; 

php脚本代码中: ini_set(“error_reporting”,  若干个错误代号的“按位或”运算);

 

error_reporting = E_NOTICE | E_WARING | E_ERROR //显示该3种;

error_reporting = E_ERROR | E_USER_ERROR //显示该2种严重错误

 

 

错误日志的记录问题

是否记录log_errors

php.ini中:log_errors = On  或 Off

php脚本代码中: ini_set(“log_errors”,  10);

 

记录到哪里error_log

error_log = “一个txt文件名”;

error_log = syslog”; //会记录到操作系统的事件日志中。

自定义错误处理器:

其实就是我们自己来对错误进行这些控制:

显示不显示,显示什么,记录不记录,记录什么,记录到哪里。

做法,分2步:

1,设定要进行自定义错误处理的函数名;

如果一旦设定了该函数名,此时系统就“交出错误处理权”,即所有错误处理的问题,都应该我们自己来——不过,系统的致命错误(E_ERROR),还是由系统处理——其实此时脚本已经停止运行。

 

2,定义该函数:

0 0
原创粉丝点击