zoukankan      html  css  js  c++  java
  • php学习----错误处理和代码重用

    php错误处理

    一、错误分类:1、语法错误 2、运行时错误 3、逻辑错误

    错误代号(部分):

    所有看到的错误代码在php中都被定义为系统常量(可以直接使用)

    1)系统错误

    E_PARSE:编译错误,代码不会执行

    E_ERROR: fatal error 致命错误,会导致代码不能正确执行(出错的位置断掉)

    E_WARNING: warning,警告错误,不会影响代码执行,但是可能会得到意想不到的结果

    E_NOTICE: 通知错误,不会影响代码执行

    2)用户错误:E_USER_ERROR,E_USER_WARNING,E_USER_NOTICE

    用户在使用自定义错误触发的时候,会使用到的错误代号

    3)其他:E_ALL。代表着所有错误(通常在进行错误控制时使用较多),建议在开发中使用

    所有以E开头的错误常量其实都是由一个字节存储,然后每一种错误占据一个对应的位,如果想进行一些错误的控制,可以使用位运算进行操作

    排除通知级别notice:E_ALL & ~E_NOTICE

    只要警告和通知:E_WARNING | E_NOTICE

    二、错误触发

    程序运行时触发

    人为触发

    注:处理脚本让浏览器按照指定字符集解析的方法

    例:header('Content-type:text/html;charset=utf-8');

    三、错误显示

    错误显示设置:

    两种方式

    1、php配置文件:全局配置:php.ini文件

    Display_error:是否显示错误

    error_reporting:显示什么级别的错误

    2、可以在运行的php脚本中区设置(通常在开发中都会在代码中去控制和配置)

    Error_reporting():设置对应的错误显示级别

    Ini_set('配置文件中的配置项',配置值);

    Ini_set('error_reporting',E_ALL);

    Ini_set('diapay_errors',1);

    3、错误日志:

    开启日志功能

    log_errors=on;

    指定路径

    error_log=....

    函数代码重用:https://www.imooc.com/video/14680

    require()

    require_once()

    include()

    include_once()

    set_include_path()

    ini_set()函数

    restore_include_path() 取消设置的路径

    $_POST

    ​ 当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencodedmultipart/form-data 时,会将变量以关联数组形式传入当前脚本。

    $_GET

    ​ 通过 URL 参数传递给当前脚本的变量的数组。

    $_REQUEST

    ​ 默认情况下包含了 $_GET$_POST$_COOKIE 的数组。

    urldecode

    ​ urldecode — 解码已编码的 URL 字符串

    ​ 解码给出的已编码字符串中的任何 %##。 加号('+')被解码成一个空格字符。

    <?php
    $query = "my=apples&are=green+and+red";
    ​
    foreach (explode('&', $query) as $chunk) {//将query中的字符串分为my=apples和are=green+and+red
        $param = explode("=", $chunk);//同上
    ​
        if ($param) {
            printf("Value for parameter "%s" is "%s"<br/>
    ", urldecode($param[0]), urldecode($param[1]));
        }
    }
    ?> 
  • 相关阅读:
    linux上配置apache实现二级域名访问目录
    C++数组的使用
    linux 上安装C++编译环境
    qt下qmake:提示could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
    Qt4.8.5移植
    oracle使用已有vid快速新建虚拟机
    各种编程语言鸡汤网站
    linux下 git使用小记下
    CodeForces-650B Image Preview 二分+模拟
    HDU-6351 Beautiful Now 全排列暴力
  • 原文地址:https://www.cnblogs.com/zw1sh/p/10181464.html
Copyright © 2011-2022 走看看