1. 概述
() 语句的性能与 () 类似,两者都包含并运行指定的文件。不同之处在于,使用 () 语句时,每次执行时都会读取并评估文件,而使用 () 时,文件仅处理一次(实际上,文件内容取代了 () 语句)。这意味着,如果代码可能执行多次,则使用 () 效率更高。另一方面,如果代码每次执行时都会读取不同的文件,或者如果存在遍历一组文件的循环,则使用 () 语句。
() 的用法如下:
require("myfile.php")
该语句通常放在PHP脚本的开头,PHP程序在执行之前会先读取()语句引入的文件,并使之成为PHP脚本文件的一部分。
() 用法与以下相同:
include("myfile.php")
该语句一般放在流程控制的处理部分。
PHP脚本文件只有在读取()语句时,才会读取其包含的文件。这种方法可以简化程序执行的过程。
PHP系统在加载PHP程序时,会有一个伪编译的过程,可以加快程序运行速度。但是,该文件仍然会被解释执行,如果 的文件有错误,主程序会继续执行,如果 的文件有错误,主程序也会停止。因此,如果包含文件的错误对系统影响不大(比如接口文件),就使用 ,否则使用 。
() 和 () 语句是语言结构,而不是真正的函数。它们可以像 PHP 中的其他语言结构一样使用。例如,echo() 可以以 echo("ab") 或 echo "abc" 的形式使用,以输出字符串 abc。 () 和 i() 语句也可以不加括号,直接添加参数使用。
() 和 () 语句也会在脚本执行期间包含指定的文件。此行为类似于 () 语句和 (),使用方式相同。唯一的区别是,如果文件中的代码已被包含,则不会再次包含。这两个语句应用于确保在脚本执行期间同一文件可能被包含多次时仅被包含一次,以避免函数重定义和变量重新赋值等问题。
2.详解 2.1 错误报告
在导入文件的时候,如果出现错误,会给出提示并且继续运行下面的代码。
在导入文件的时候,如果出现错误,则会给出提示,并且停止下面代码的执行。
例如,编写两个PHP文件,分别名为test-.php和test-.php。注意,同一目录下不能有名为test-.php的文件。
测试-.php
测试-.php
浏览,由于找不到 test-.php 文件,我们看到一条错误消息。同时,错误消息下方显示 abc。您可能会看到类似以下内容:
Warning: include(test-nothing.php) [function.include]: failed to open stream: No such file or directory in D:\www\test-include.php on line 2 Warning: include() [function.include]: Failed opening 'test-nothing.php' for inclusion (include_path='.;C:\php5\pear') in D:\www\test-include.php on line 2 abc
浏览,由于未找到 test-.php 文件,我们看到了一条错误消息,但是错误消息下方没有显示 abc。您可能会看到类似以下内容:
Warning: require(test-nothing.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 2 Fatal error: require() [function.require]: Failed opening required 'test-nothing' (include_path='.;C:\php5\pear') in D:\www\test-require.php on line 2
2.2 文件引用方法
() 执行时需要引用的文件每次都要读取并求值,而 () 执行时需要引用的文件只处理一次(其实就是用执行时需要引用的文件内容代替了 () 语句)。可以看出,如果有包含这些指令之一的代码,以及可能多次执行的代码,使用 () 效率更高。如果每次执行代码时读取不同的文件或者有一个循环遍历一组文件,则使用 ()。你可以为想要包含的文件的名称设置一个变量,当参数为 () 时使用该变量。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。