zoukankan      html  css  js  c++  java
  • php笔记之文件载入和异常处理

    文件载入

    介绍

     在实际的开发中,经常会在一个php文件中导入其他的文件,被引入的文件可以是html也可以是php文件

    语法

    require

    require(文件名)
    require_once(文件名)

    示例:

    include

    include(文件名)
    include_once(文件名)

    在引用文件时,主要有两种使用目的:

    当前文件(php)有数据,想要被引用的文件(html)显示

     

     在当前文件(php)想要使用,另一个文件(php)中的功能性代码:

    引入路径问题

    在实现项目中,对于html文件,我是不允许用户直接请求,而是指向一个php文件,让php文件来引用这个html文件

    当一个php文件引入一个html文档时,html文件本身也会引入一些其他的文件,如图片文件,css文件,js文件,这时会发生改变路径的问题。路径要以当前php文件所在的路径问起点

     

    include和require的区别

    include在引入文件时,如果被引入的文件不存在则会报错,但程序还会继续向下执行

    require在引入文件时,如果被引入的文件不存在,则会上断程序的执行

    经验法则:

    require 一般用于引入php文件,因为php里面一般书写的是功能性的代码

    include一般用于引入html文档

    include、require VS include_once 、require_once的区别

    include_once require_once每次引入文件时,都会检查所要引入的文件之前有没有被引入过,如果有被引入就不会再引入

    include require没有这样的检查流程

    __DIR__\__FILE__

    __FILE__  用于获取文件所在的完整文件名

    __DIR__  用于获取文件所在的路径

    __FILE__ 和__DIR__并不会被引入后所更改。永远代码__FILE__ 和__DIR__所在文件的文件名和文件夹名

    异常处理

    错误的分类

    1编译错误

    在编译的过程中发生的错误就是编译错误,编译错误最容易解决的,很多是由于书写错误

     执行错误

    在编译通过之后,在执行阶段发生的错误,此种错误一旦发生,会根据错误的等级,来决定是否中断程序的执行

    逻辑错误

    由于程序的逻辑不严谨,而产生的错误,此种错误是最难排查的,程序可以正常执行,但最终的结果不是我们所期望的

    错误代码

    在php的错误机制中,每一种错误都使用了一个错误标识,错误标识是常量的形式存在

    获取错误代码

     系统错误

    E_ERROR                    致命错误,一旦发生就会中断程序的执行

    E_WRRING                 警告错误,一旦发生并不会中断程序的执行,

    E_NOTICE                   提示错误,一旦发生并不会中断程序的执行,

    E_PARSE                     编译错误,一旦发生就会中断程序的执行

    自定义错误

    E_USER_ERROR          用户级的致命错误,一旦发生就会中断程序的执行

    E_USER_WRRING       用户级的警告错误,一旦发生并不会中断程序的执行,

    E_USER_NOTICE        用户级的提示错误,一旦发生并不会中断程序的执行

    所有的错误

    E_ALL

    错误的触发

    系统错误的触发

    程序员无法干涉系统错误的触发,系统错误有php自己检测并触发的

     自定义的错误

    trigger_error();

    语法:

    trigger_error(msg,type);

    说明:

    msg   错误的描述信息

    type  自定义错误的代码(E_USER_ERROR、E_USER_WARNING、E_USER_NOTICE)

     

     提示:

    使用错误处理机制的好处是,可以将错误记录起来,默认会被记录到apache的/logs/error.log文件中

    错误的控制设置

    php错误控制可以在php.ini中进行,我们可以控制错误是否显示,还可以控制显示哪一类的错误

    控制是否显示错误

    display_errors=on 显示错误
    display_errorrs=off  关闭错误的显示

    控制显示哪一类错误

    error_reporting=

     错误的日志文件的设置

    我们还可以控制是否记录错误,以及错误日志的记录位置

    是否记录记录

    log_errors=on 记录错误

    log_errors=off 不记录错误

    错误记录的位置

    如果没有设置error_log默认是记录到apache的错误日志中logerror.log

    error_log=syslog        会记录到操作系统的日志中

    error_log=文件名      记录到自定义的位置

  • 相关阅读:
    BZOJ 1101 莫比乌斯函数+分块
    BZOJ 2045 容斥原理
    BZOJ 4636 (动态开节点)线段树
    BZOJ 2005 容斥原理
    BZOJ 2190 欧拉函数
    BZOJ 2818 欧拉函数
    BZOJ 3123 主席树 启发式合并
    812. Largest Triangle Area
    805. Split Array With Same Average
    794. Valid Tic-Tac-Toe State
  • 原文地址:https://www.cnblogs.com/zhangcheng94/p/12198331.html
Copyright © 2011-2022 走看看