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() 如果载入的文件不存在 ...
随机推荐
- ORA-28002:the password will expire within 6 days
1.查看用户的proifle SELECT username,PROFILE FROM dba_users; 2.查看指定概要文件(如default)的密码有效期设置:SELECT * FROM db ...
- 第一册: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 ...
- 【转载】C#工具类:FTP操作辅助类FTPHelper
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.可以通过C#中的FtpWebRequest类.NetworkCredential类.We ...
- 使用HttpWebRequest请求API接口以及其他网站资源
很多时候,我们项目需要其他网站的资源,而这个被请求的网站可能属于你们自己开发管理的网站.也可能是公网上其他网站对外开发的API接口,比如说腾讯的微信公众平台的API接口.各大短信服务商的短信API接口 ...
- .Net Core 项目中添加统一的XSS攻击防御过滤器
一.前言 最近公司内部在对系统的安全进行培训,刚好目前手里的一个.net core 项目中需要增加预防xss的攻击,本文将大概介绍下何为XSS攻击以及在项目中如何统一的预防XSS攻击. 二.XSS简介 ...
- 1.shell学习之常用语句
本章学习内容: 1.常见符号 2.命令分隔符-分号";" 3.双分号 ";;" 4. '单引号和"双引号 5.`反引号和$() 6.${}和$ 7.冒 ...
- PATH环境变量
PATH是环境变量,要大写 那几个目录是你放置linux命令的目录,输入命令后系统会去PATH中寻找是否存在该命令 查看当前环境变量: echo $PATH 也可以用set命令看一下 设置: expo ...
- Docker 系列五(Docker Compose 项目).
一.概念 Docker Compose 是官方编排项目之一,负责快速的部署分布式应用.它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML格式)来定义一种相关联的应用容器 ...
- idea项目git版本回退
idea项目git版本回退 一.查询提交历史 项目上右键,点击Git,点击Show History 二.复制版本号 我这里有两个测试的版本,我的当前版本是[二],所以我选择[一],右键,选择Copy ...
- js 幻灯片
基本思路 红色:为可见区域 黑色方框:元素,不可见. 通过绝对定位方式,把黑色方框,移动到红色可见区别,来实现图片切换. 实例 创建幻灯实例对象 <div class="slide& ...