php学习day6--文件加载和错误处理
昨天我们暂时学习了运算符的相关知识;那么今天我学的主要内容是文件的加载和错误处理。
一、文件的加载
在php程序中,我们不能像html中一样可以用标签来引用外部文件,但是php也是有一种方法是可以进行对其他的文件进行加载,换句话说php执行的时候也可以把其他文件中的代码拿过参与自己的运算。这种方式我们称作加载。
1.文件加载的方法
那么在php中如何进行加载呢?这里php给我们提供了几种方法,分别是:
include require include_once require_once
知道了这几种方法,那么我们再来看看他们的用法:
这里我们只举一个例子include,因为剩下的三种用法是一致的。
include “文件路径”;
include(“文件路径”);
include和require区别:
include:当加载的页面不存在或者加载时有错误产生,会发生警告,而下面的代码继续执行。(警告错误)
require:当加载的页面不存在或者加载时有错误产生,会报错,执行会中断(致命错误)
include_once和requiry_once的区别跟上面一样。
include_once和include的区别:
include:当上面有加载过相同的页面,当前的加载继续生效,即可以多次加载。
include_once:在加载页面时先进行判断之前有没有加载过,如果加载过,则不再加载。(即只进行一次加载,通常用于下面的代码依赖之前的代码页面中)
2.文件路径的知识
文件路径可以分为:相对路径,绝对路径和没有路径。
相对路径:即相对于当前文件的其他文件路径。
表示方法: ./ 表示当前位置,即当前网页文件所在的位置。
../ 表示上一级位置,即当前网页文件所在位置的上一层文件。
绝对路径:可以分为本地绝对路径和网络绝对路径。
本地绝对路径:就是本地文件出发去找到目标文件所在位置的路径。如:
网络绝对路径:互联网上的地址栏中的信息。如:“http://www.baidu.com”
无路径(不推荐):没有给出路径信息,而只给出文件名,会消耗电脑的性能。
3.文件加载的返回值
在文件加载中,加载过程会有返回值:
$a = include("文件路径");//加载成功 $a=1;加载失败 $a = false;
被加载的文件中如果有return,则return下面的代码不再执行,并且会返回一个规定的值,同上面的例子一样,如果不设定return,则默认值为1或false,设定,则返回设定值。
二、php中的错误处理
1.错误的分类
在写程序的过程中经常会有错误产生,我们通过总结,可以把错误分为三大类,即:
语法错误,程序运行之前,先检查语法,语法错误会直接导致程序不执行。
运行时错误:开始运行程序遇到的错误,提示性错误,警告性错误,致命错误。(也是写代码过程中最常见的错误)
逻辑错误,程序正常执行,没有报错,但是计算结果错误。
2.错误的等级
由于人们在写代码的过程中遇到很多各式各样的错误,为了方便解决问题将各种错误进行了分类和归纳,形成了十几个错误级别,每个级别的错误都有一个代号,这个代号也是系统内部预定义的一个常量。如下图:
3.错误的触发
在了解过错误之后,那么我们再讨论讨论错误的触发,错误的触发方式也可以分为两种:系统触发和自定义触发,我们最常见到的就是系统错误触发。那么自定义触发呢?自定义触发就是指我们对某些事物做一些规定,如果客户在输入或操作的过程中不符合我们的规定,则进行抛出错误。
自定义触发错误的函数是:
trigger_error();
用法:
$age = 1000;//代表用户提交的年龄为1000.
if($age>127||$age<0){
trigger_error("年龄不符合要求!",E_USER_ERROR);//直接抛出致命错误
}
4.是否显示错误报告
错误报告分为两步:第一步为设置是否显示错误报告,第二步为设置显示哪些级别的报告如下表:
5.是否记录错误日志
出现的错误我们可以放在错误日志里,以便我们方便解决错误。错误日志的设置分为两步,方法如下图:
6.自定义处理错误
前面提高自定义触发错误,这里我们再看一下自定义处理错误。在php中给力我们一个函数,可以让我自己来处理系统爆发的错误,此函数一经设置好之后,会自动触发无需再去调用。
这个处理过程也分为两步,首先先设定处理错误的函数名,其次是去定义该函数的内部处理机制。
第一步:set_error_handler("fuck");
第二步:function fuck(){......}
举例如下图:
好了,今天我们先到这里,明天继续。