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(){......}

  举例如下图:

好了,今天我们先到这里,明天继续。

 

posted @ 2016-09-10 09:38  time呦_呦  阅读(208)  评论(0编辑  收藏  举报