php基础语法(文件加载和错误)
文件加载
有4个文件加载的语法形式(注意,不是函数):
include, include_once, require, require_once;
他们的本质是一样的,都是用于加载/引入/包含/载入一个外部文件到当前php代码中来。
他们只在2个方面有细微区别:
1,如果加载文件失败,则有不同的处理规则;include和require不同
2,如果加载文件重复,则有不同的处理规则;XXX和XXX_once不同;
3,他们都是语法结构,而非函数,使用形式可以有两种:
3.1 include ‘文件路径’;
3.2 include (‘文件路径’);
include_once 和include的区别:前者能够保证不会被重复加载
require 和 include的区别:
如果被包含文件不存在,即引用失败(出错)时,include发出警告并继续执行后续代码,require直接终止。
错误处理
语法错误:
程序没法运行,直接提示语法错误。
运行时错误:
只有程序运行到某行,或在某些特定的情形下运行才会发生的错误。
逻辑错误:
程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的。
系统错误:
E_ERROR:系统严重错误
一发生,程序立即停止执行。
E_WARNING:系统警告
一发生,提示错误,并继续执行。
E_PARSE:语法错误
一发生,提示错误,而且代码完全不会运行——在运行之前先检查语法。
E_NOTICE:系统提示
一发生,提示错误,并继续执行。
用户自定义错误
只有3个:
E_USER_ERROR;
E_USER_WARNING;
E_USER_NOTICE;
就是由程序员通过程序代码而“产生”一个错误。
语法:
trigger_error(“错误提示” , 用户错误代号);
错误的显示控制
网页中显示(提示)错误信息,是可以进行控制的,有2种途径:
1,在php.ini文件中设定,对所有php程序都有效;
2,在当前脚本文件中,只对当前脚步文件有效。
错误的显示有2个方面可以进行控制;
1,设定是否显示:display_error:
php.ini中;display_error = On; //表示显示, Off表示不显示;
脚本中: ini_set(“display_error”, 1); //1表示显示, 0表示不显示,也可以用true,false
脚本中的设定优先级高。
2,设定显示哪些级别的错误——依赖与第一项设定为显示的情况。
php.ini文件中:
error_reporting = E_NOTICE; //只显示E_NOTICE错误
error_reporting = E_NOTICE | E_WARNING; //显示E_NOTICE和E_WARNING错误
error_reporting = E_NOTICE | E_WARNING | E_USER_ERROR;
//显示E_NOTICE和E_WARNING和E_USER_ERROR错误
在代码中设定:
ini_set(“error_reporting”, E_NOTICE); //只显示E_NOTICE错误
ini_set(“error_reporting”, E_NOTICE | E_WARNING); ////显示E_NOTICE和E_WARNING错误
ini_set(“error_reporting”, E_ALL | E_STRICT & ~E_NOTICE); //只关闭E_NOTICE错误
ini_set()含义可以设定几乎所有php.ini中的设定项,形式如下:
ini_set(“设定项名称” ,值); //这种设定都只对当前脚本有效,而且无需重启apache,很方便。
另一个对应函数是:ini_get(“设定项名称”);//用于获取某项的值。
记录错误日志
在开发阶段,我们通常都是显示所有错误——意图解决错误
在产品阶段,我们通常都是隐藏所有错误——并同时将错误信息记录到文件中——错误日志文件。
我们可以自己查看错误日志以解决开发阶段没有发现的错误问题。
记录错误日志同样有2种途径:
1,在Php.ini文件中设定:
log_errors = On; //用于设定是否记录错误日志,On记录,Off不记录
error_log = “错误日志文件名”; //设定错误日志的文件名
此时,该文件没有给定路径,则系统会在每个文件夹下建立该文件并记录进去。
error_log还有一个特殊值可以使用:
error_log = syslog; //此时不会记录错误日志文件,而是把错误信息写入到系统错误日志中
php基础语法(文件加载和错误)的更多相关文章
- php文件加载、错误处理、方法函数和数组
数组运算符注意:php中,数组的元素的顺序,不是由下标(键名)决定的,而是完全由加入的顺序来决定.联合(+):将右边的数组项合并到左边数组的后面,得到一个新数组.如有重复键,则结果以左边的为准$v1 ...
- PHP基础3--文件加载-错误处理
主要: 1-文件加载 2-错误处理 文件加载 文件加载语句 1) 4个文件加载语句:include, require, include_once, require_once 2) 使用形式 ...
- php基础知识(3)(文件加载include)
文件加载 综述: 有4个文件加载的语法形式(注意,不是函数): include, include_once, require, require_once; 他们的本质是一样的,都是用于加载/引入/ ...
- Java基础之Throwable,文件加载
Java中的异常与错误都继承自Throwable,Exception又分为运行时异常(RuntimeException)和编译时异常. 运行时异常是程序的逻辑不够严谨或者特定条件下程序出现了错误,例如 ...
- 文件加载---理解一个project的第一步
当我最开始写php的时候,总是担心这个问题:我在这儿new的一个class能加载到对应的类文件吗?毕竟一运行就报Fatal Error,什么**文件没找到,类无法实例化等等是一种很“低级”的错误,怕别 ...
- OGG初始化之将数据从文件加载到Replicat
要使用Replicat建立目标数据,可以使用初始加载Extract从源表中提取源记录,并将它们以规范格式写入提取文件.从该文件中,初始加载Replicat使用数据库接口加载数据.在加载过程中,更改同步 ...
- 黄聪:VS2010启动程序提示文件加载 使用 简体中文(GB2312)编码加载文件解决办法
vs2010 错误提示框:文件加载 使用 简体中文(GB2312)编码加载文件C:\Users\Administrator\AppData\Local\Temp\nxhgjasi.5au \Temp\ ...
- 虹软人脸识别在 linux中so文件加载不到的问题
其实是可以加载到的,不过是so文件放的位置不一对,最简单的方式是放在 /usr/lib64 目录下,也可自己设置. so文件加载不到会报这个错误: .lang.UnsatisfiedLinkEr ...
- 深入解析QML引擎, 第1部分:QML文件加载
译者注:这个解析QML引擎的文章共4篇,分析非常透彻,在国内几乎没有找到类似的分析,为了便于国内的QT/QML爱好者和工作者也能更好的学习和理解QML引擎,故将这个系列的4篇文章翻译过来.翻译并不是完 ...
随机推荐
- Ghost:一款简约风格博客系统
前言 本文将介绍一种最快速的创建Ghost博客系统的方法,并实现绑定二级域名到该博客系统.本文以本博客的“微博客”为例. 一键创建Ghost博客系统 Kite 是 Ghost 博客托管商,网址为:ht ...
- WPF:理解TileBrush(ImageBrush,DrawingBrush和VisualBrush)
ImageBrush:利用图像绘制区域 ImageBrush 是一种将自身内容定义为图像的 TileBrush,图像通过它的 ImageSource 属性指定. 您可以控制图像的拉伸.对齐和平铺方式, ...
- 互换CapsLock和Ctrl键
如果你没有HHKB键盘,完全可以利用系统自身的功能交换CapsLock和Ctrl键. macOS系统 在系统偏好设置里,点击“键盘”,在出现的画面点击右下角的“修饰键...”按钮,在这里可以配置这两个 ...
- 从零开始搭建webpack+react开发环境
环境主要依赖版本 webpack@4.8.1 webpack-cli@2.1.3 webpack-dev-server@3.1.4 react@16.3.2 babel-core@6.26.3 bab ...
- wii 入门之路--fatt
wii 入门之路--fatt system menu:系统界面,开机进入后,显示很多应用,4.1用IOS60. Channel:理解为界面中的软件应用和游戏. IOS:IOS(Input Output ...
- day17 Django学习三
参考博客: http://www.cnblogs.com/wupeiqi/articles/5237704.html http://www.cnblogs.com/wupeiqi/articles/5 ...
- GPON命令模式
1.添加ont步骤 1.1 查看自动发现的ONT,并记录SN号和PON口 MA5680T(config)#display ont autofind all --------------------- ...
- 通过windows的超级终端连接华为交换机
如果你的电脑没有带COM接口 可以找一个COM--->USB的转换器 我前面有介绍过这么安装COM转USB设备的驱动 2 先打开你电脑的设备管理器 看看你的com接口数字编号 这里看到的是COM ...
- C++复习5.指针数组字符串
C/C++ 指针.数组和字符串 本次学习指针.数组.字符串.引用的内存映像. 1.指针 指针的本质:可以执行的程序是由指令.数据和地址组成的.当CPU访问内存单元的时候,不论是读取还是写入,首先要把内 ...
- 第2课:jmeter总结、Charles抓包
1. tps(throughput):每秒钟处理的事务数(请求数),定义与qps类似(qps:每秒完成的请求个数.) 响应时间(average):每个请求的平均响应时间 2. jmeter实现下载 ...