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-urlencoded 或 multipart/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学习----错误处理和代码重用的更多相关文章
- PHP学习(6)——代码重用与函数编写的一些注意事项
一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...
- 从零开始攻略PHP(6)——代码重用与函数编写的一些注意事项
一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...
- php 代码重用
<?php /* 21.php * 代码重用 * include() required()载入文件 * include() 如果载入文件不存在,提示警告,还可以继续执行 * required() ...
- 52. 模版和设计元素——Lotus Notes的代码重用
不论是理论上还是实用上,代码重用都是编程的一个重要议题.可以从两个角度来讨论代码重用. 一是逻辑上代码以怎样的方式被重用.既可以通过面向对象的思想普及以来耳熟能详的继承的方式.比如先建了一个车的基类, ...
- IOS开发-OC学习-常用功能代码片段整理
IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...
- Java 代码重用:操作与上下文重用
目录 操作重用 参数化操作 上下文重用 上下文作为模板方法 结束语 我几乎不需要讨论为什么重用代码是有利的.代码重用(通常)会导致更快的开发与更少的 BUG.一旦一段代码被封装和重用,那么检查程序是否 ...
- 《C++ Primer Plus》读书笔记之十二—C++中的代码重用
第14章 C++中的代码重用 1.C++代码重用方法:公有继承.使用本身是另一个类的对象的类成员(这种方法称为包含.组合或层次化).私有或保护继承.类模板等. 2.模板特性意味着声明对象时,必须指定具 ...
- jQuery 学习笔记:jQuery 代码结构
jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...
- 021PHP基础知识——代码重用
<?php /** * 代码重用 * include() require() 载入文件 * include() 如果载入的文件不存在,提示警告错误. * require() 如果载入的文件不存在 ...
随机推荐
- PXE+kickstart无人值守安装CentOS 7
kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...
- java实现带空格字符串的倒序输出
import org.junit.Test; public class StringtoChar { @Test public void main(){ String str ="hello ...
- NSOperation讲解
本篇博客转自https://www.jianshu.com/p/4b1d77054b35 1. NSOperation.NSOperationQueue 简介 NSOperation.NSOperat ...
- ASP.NET Core 中使用EF Core 将实体映射到数据库表的方法(SQL Server)
前段时间听过一个关于使用ASP.NET Core建立项目的视频.其中使用EF Core映射到数据库的部分是按部就班地学习.今天自己建立项目时,有些步骤已经有一些遗忘.所以写下这篇文章,顺便理清思路. ...
- Java 文件流操作.
一.概念 在Java中,文件的输入和输出是通过流(Stream)来实现的.一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是 Internet 上的某个 URL.对 ...
- VMWAR-workstatuon
https://blog.csdn.net/felix__h/article/details/82853501 链接中的秘钥可用~感谢原文作者 下载安装: 官网下载地址:https://www.vmw ...
- js 实现二级联动
onchange 事件 <body> <select id="province" onchange="func1()"> <opt ...
- Django下自定义标签和过滤器
---恢复内容开始--- 第一步:确保setting中的INSTALL_APPS配置当前的app,要不然Django无法找到自定义的simple_tag. 第二步:在app中创建templatetag ...
- vuejs2.0实现分页组件,使用$emit进行事件监听数据传递
上一篇文章介绍了vuejs实现的简单分页,如果我有几个页面都需要有分页效果,不可能每个页面都去复制一下这段代码吧,意思是封装一下,变成通用的组件. 首先使用基础 Vue 构造器,创建一个“子类”,Vu ...
- BZOJ2783: [JLOI2012]树(树上前缀和+set)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1215 Solved: 768[Submit][Status][Discuss] Descriptio ...