跟随我在oracle学习php(31)

Posted rightgram

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟随我在oracle学习php(31)相关的知识,希望对你有一定的参考价值。

php中文件引入

 

4个文件加载的语法形式(注意,不是函数):

include,  include_once,  require, require_once;

他们的本质是一样的,都是用于加载/引入/包含/载入一个外部文件到当前php代码中来。

他们只在2个方面有细微区别:

1,如果加载文件失败,则有不同的处理规则;includerequire不同

2,如果加载文件重复,则有不同的处理规则;XXXXXX_once不同;

3,他们都是语法结构,而非函数,使用形式可以有两种:

3.1  include  ‘文件路径’;

3.2  include (‘文件路径’);

 

phpinclude语法(其他3个也一样)中,如果只给出文件名,而没有给出路径,则此时有其内部找到该文件的规则,如下:

1,首先在系统设置的include目录中查找:

php.ini配置文件中,有:include_path设定:

可见默认无设定;

该设定其实可以设定多个目录,其间用分号分开;系统会按顺序依次找要载入的文件。

修改php.ini中的include_path为:

 

 

我们也可以在脚本中设定:

 

我们也可以使用另一个函数来获取当前的include_path的值:

 

 

2,上面没找到,在当前执行的网页文件所在目录(所谓当前工作目录)查找:

所谓当前网页文件,就是地址栏中显示的那个文件名。

3,上面还没找到,则在当前include命令所在文件的所在目录中查找:

如果一个文件(A)包含文件B,在文件B中又有include命令包含文件C

此时B中的路径问题就可能发生这种情况。

文件载入执行过程

·从include语句处退出php脚本模式(进入html代码模式)

·载入include语句所设定的文件中的代码,并执行之(如同在当前文件中一样)

·退出html模式重新进入php脚本模式,继续之后的代码

 

几个区别:

·include_once include的区别:前者能够保证不会被重复加载

·require include的区别:

o如果被包含文件不存在,即引用失败(出错)时,include发出警告并继续执行后续代码,require直接终止。

 

·require_once require的区别:前者能够保证不会被重复加载

 

return关键字

以前,我们只在函数中出现return关键字,其作用是:结束函数,并可以返回数据;

return //单纯结束;

return $x; //结束,并返回数据$x;

那么,

被包含(载入)的文件中的return 关键字也具有同样的作用!

 

 

结果:

 

 

再来看看return返回值的形式:

 

 

结果为:

 

 

错误处理

错误的分类

语法错误:

程序没法运行,直接提示语法错误。

 

运行时错误:

只有程序运行到某行,或在某些特定的情形下运行才会发生的错误。

 

逻辑错误:

程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的。

 

我们程序员主要面对的和要处理(应付)的错误,就是运行时错误。

 

错误的分级

php中,将各种错误,分门别类,依据不同的严重程度和产生的来源(机制),将各种错误分为大约10几个级别。

每个级别的错误,都对应一个内部的名称——系统常量!

系统错误:

E_ERROR:系统严重错误

一发生,程序立即停止执行。

该错误一般希望马上。

E_WARNING:系统警告

一发生,提示错误,并继续执行。

通常该错误希望能够在“下一工作日”去处理掉(解决)。

E_PARSE:语法错误

一发生,提示错误,而且代码完全不会运行——在运行之前先检查语法。

E_NOTICE:系统提示

一发生,提示错误,并继续执行。

发个邮件通知一下,自己安排时间有空去解决。

 

用户自定义错误

只有3个:

E_USER_ERROR;

 

E_USER_WARNING;

 

E_USER_NOTICE;

我们可以在程序中,自己创建(生成)错误——是为了针对某些数据的不合理情形,而创建的错误。

比如:让用户填写年龄, 18ok,但填写188就是不合理——从数字角度本身是没有问题。

其他:

E_ALL; 代表所有错误——表示它可以“包括”错误。

E_STRICT: 代表“严格性”语法检查错误——某种语法是可以执行的,但在当前的php版本中是不欢迎使用。

以上是关于跟随我在oracle学习php(31)的主要内容,如果未能解决你的问题,请参考以下文章

跟随我在oracle学习php(58)

跟随我在oracle学习php(35)

跟随我在oracle学习php(33)

跟随我在oracle学习php(56)

跟随我在oracle学习php(37)

跟随我在oracle学习php(39)