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/>\n", urldecode($param[0]), urldecode($param[1]));
  }
}
?>

php学习----错误处理和代码重用的更多相关文章

  1. PHP学习(6)——代码重用与函数编写的一些注意事项

    一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...

  2. 从零开始攻略PHP(6)——代码重用与函数编写的一些注意事项

    一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...

  3. php 代码重用

    <?php /* 21.php * 代码重用 * include() required()载入文件 * include() 如果载入文件不存在,提示警告,还可以继续执行 * required() ...

  4. 52. 模版和设计元素——Lotus Notes的代码重用

    不论是理论上还是实用上,代码重用都是编程的一个重要议题.可以从两个角度来讨论代码重用. 一是逻辑上代码以怎样的方式被重用.既可以通过面向对象的思想普及以来耳熟能详的继承的方式.比如先建了一个车的基类, ...

  5. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...

  6. Java 代码重用:操作与上下文重用

    目录 操作重用 参数化操作 上下文重用 上下文作为模板方法 结束语 我几乎不需要讨论为什么重用代码是有利的.代码重用(通常)会导致更快的开发与更少的 BUG.一旦一段代码被封装和重用,那么检查程序是否 ...

  7. 《C++ Primer Plus》读书笔记之十二—C++中的代码重用

    第14章 C++中的代码重用 1.C++代码重用方法:公有继承.使用本身是另一个类的对象的类成员(这种方法称为包含.组合或层次化).私有或保护继承.类模板等. 2.模板特性意味着声明对象时,必须指定具 ...

  8. jQuery 学习笔记:jQuery 代码结构

    jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...

  9. 021PHP基础知识——代码重用

    <?php /** * 代码重用 * include() require() 载入文件 * include() 如果载入的文件不存在,提示警告错误. * require() 如果载入的文件不存在 ...

随机推荐

  1. python实战学习之numpy学习

    numpy基础要点 1.生成数组 np.array([]) 2.变量的类型 numpy.ndarray 3.数据的类型 int8,float64,float32,bool等 4.数据的类型转换 x.a ...

  2. Python爬虫之使用Fiddler+Postman+Python的requests模块爬取各国国旗

    介绍   本篇博客将会介绍一个Python爬虫,用来爬取各个国家的国旗,主要的目标是为了展示如何在Python的requests模块中使用POST方法来爬取网页内容.   为了知道POST方法所需要传 ...

  3. C#调用C++(QT5.5.1项目)的C++/CLI(CLR项目)项目技术笔记

    导航 1.编译环境 2.项目配置 1.设置附加包含目录 2.设置附加库目录 3.设置附加依赖项 3.CLR中各种定义 1.接口定义 2.类定义 3.枚举定义 4.属性定义 4.CLR中各种使用 1.类 ...

  4. c# 模拟网易足彩算法

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  5. 第三讲 smart qq 登录成功后获取 vfwebqq ,psessionid,hash

    public static void Login_GetPHV() { string urldata = "{\"ptwebqq\":\"#{ptwebqq}\ ...

  6. python基础学习(六)函数基础

    函数的基本使用 函数的定义 def 函数名(): 函数封装的代码 …… def 是英文 define 的缩写 函数名称 应该能够表达 函数封装代码 的功能,方便后续的调用 函数名称 的命名应该 符合 ...

  7. Itween 动画插件中 的画线

    1.首先在你的层次视图中创建所需的节点 ,节点的位置顺序排列 2.导入Itween 插件 1.可以直接从项目外部拖拽到本项目中 2.通过AssetStore 中导入 3.在你的父节点上创建脚本 ,对象 ...

  8. linux mail操作

    本操作系统邮件由来,crontab定时任务执行推送产生. 1.查看有多少封邮件 & file 2.我们直接键入23935来访问这封mail,看看是否是我们所需要的最新邮件. 3. 退出邮件查看 ...

  9. 微信分享链接出现config:invalid signature错误的解决方法

    首先贡献jssdk下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip  不建议大家在*SDN上花钱买积分下载 当开发微信时需要做特定的页面做分享时 ...

  10. Git命令使用小结

    一.上传你的代码的基本方式 0.在github网站上登录你的账户cynthiawupore,然后新建一个仓库demo 1.初始化 $ git init 2.添加文件夹下所有文件到仓库 $ git ad ...