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. ORA-28002:the password will expire within 6 days

    1.查看用户的proifle SELECT username,PROFILE FROM dba_users; 2.查看指定概要文件(如default)的密码有效期设置:SELECT * FROM db ...

  2. 第一册:lesson ninety-three。

    原文:  our new neighbor. Nigel is our new next-door neighbor. He is a pilot. He was in the R.A.F. He w ...

  3. 【转载】C#工具类:FTP操作辅助类FTPHelper

    FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.可以通过C#中的FtpWebRequest类.NetworkCredential类.We ...

  4. 使用HttpWebRequest请求API接口以及其他网站资源

    很多时候,我们项目需要其他网站的资源,而这个被请求的网站可能属于你们自己开发管理的网站.也可能是公网上其他网站对外开发的API接口,比如说腾讯的微信公众平台的API接口.各大短信服务商的短信API接口 ...

  5. .Net Core 项目中添加统一的XSS攻击防御过滤器

    一.前言 最近公司内部在对系统的安全进行培训,刚好目前手里的一个.net core 项目中需要增加预防xss的攻击,本文将大概介绍下何为XSS攻击以及在项目中如何统一的预防XSS攻击. 二.XSS简介 ...

  6. 1.shell学习之常用语句

    本章学习内容: 1.常见符号 2.命令分隔符-分号";" 3.双分号 ";;" 4. '单引号和"双引号 5.`反引号和$() 6.${}和$ 7.冒 ...

  7. PATH环境变量

    PATH是环境变量,要大写 那几个目录是你放置linux命令的目录,输入命令后系统会去PATH中寻找是否存在该命令 查看当前环境变量: echo $PATH 也可以用set命令看一下 设置: expo ...

  8. Docker 系列五(Docker Compose 项目).

    一.概念 Docker Compose 是官方编排项目之一,负责快速的部署分布式应用.它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML格式)来定义一种相关联的应用容器 ...

  9. idea项目git版本回退

    idea项目git版本回退 一.查询提交历史 项目上右键,点击Git,点击Show History 二.复制版本号 我这里有两个测试的版本,我的当前版本是[二],所以我选择[一],右键,选择Copy ...

  10. js 幻灯片

    基本思路 红色:为可见区域 黑色方框:元素,不可见. 通过绝对定位方式,把黑色方框,移动到红色可见区别,来实现图片切换.  实例 创建幻灯实例对象 <div class="slide& ...