• 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=文件名      记录到自定义的位置

  • 相关阅读:
    Stanford机器学习笔记-10. 降维(Dimensionality Reduction)
    Stanford机器学习笔记-9. 聚类(K-means算法)
    Stanford机器学习笔记-8. 支持向量机(SVMs)概述
    Stanford机器学习笔记-7. Machine Learning System Design
    Stanford机器学习笔记-6. 学习模型的评估和选择
    Stanford机器学习笔记-5.神经网络Neural Networks (part two)
    k sum 问题系列
    正则表达式
    Manacher算法--O(n)回文子串算法
    leetcode难度及面试频率
  • 原文地址:https://www.cnblogs.com/zhangcheng94/p/12198331.html
Copyright © 2020-2023  润新知