我正在使用一些像所有页面一样的数据库连接的PHP代码,所以我创建了一个包含php代码的php文件,然后我将这个文件包含在我的HTML代码中, 所以我想知道更好的方法来包含php文件,更好的替代include函数。 我的示例代码在这里
<?php
include "check_timeout.php";
include "connect_to_db.php";
?>
<html>
<head>
<title>Example</title>
</head>
<body>
<?php
mysql_close($con);
?>
</body>
</html>
提前谢谢。
答案 0 :(得分:18)
您有4个选项可供选择。
包括'yourfile.php';
include_once'ourfile.php';
要求'yourfile.php';
require_once'yourfile.php';
当然你也可以使用“而不是'。
除了微小的差异之外,他们都会做同样的事情。如果yourfile.php不存在,则包含的将忽略该事实并且您的php页面将继续运行 - 没有任何致命错误。
另一方面,需要的会产生致命的错误。如果您知道该文件存在,那么您选择的文件没有任何区别。
至于带有_once后缀的选项,嗯,与没有后缀的非_once相比,它们往往更慢。因为当你使用include_once或require_once时,PHP会做一些额外的工作来确保那些文件真正包含在ONCE中 - 保护你免受可能的双重包含情况,如果你不小心编码和许多文件使用许多包含你可能会遇到两次包含相同文件的情况。好吧,_once选项会阻止它。而且检查会带来一些处理成本。
我还注意到你已经使用了“而不是”用于你的文件分隔符。没有理由选择“over”,除非你在文件中引用变量名,例如
$ thefile ='yourfile.php; 包括“$ thefile”;
那么从这4个中选出哪些? 这一切都取决于,如果你认为你确实需要强制_once问题,那么你选择include_once或require_once,如果你认为不需要,那么你选择include或require。至于include vs require,如果你的文件出于某种原因无法访问,那么你是否希望你的PHP脚本死掉或继续前进。
如果您对某些速度测试感到好奇,这里有一个链接供您查看。 http://php.net/manual/en/function.require-once.php
我也在主题上找到了这个。
了解require和include之间的区别 PHP手册,要求和包含“除了相同之外 他们如何处理失败。“但是,进一步阅读手册 提出了另一个影响绩效的非常微妙的差异。什么时候 使用require关键字,读入,解析和调用命名文件 编译使用require关键字的文件时编译。当一个 编译包含include关键字的文件,命名文件不是 最初读入,解析和编译。只有那行代码 执行的是读取,解析和编译的文件。只使用 如果您知道将始终需要该命名文件,请使用require关键字 当前的脚本。如果您可以使用其功能,请使用include 代替。 PHP打开所有必需的文件,但只打开 根据需要包含文件。此外,您还应该考虑使用 require_once和include_once代替require和include 分别。在实践中,你更有可能真正想要 require_once和include_once提供的功能 功能,即使使用require和更常见 分别包括关键字。请参阅以下PHP手册页 有关更多信息:include,include_once
源: http://www.stevengould.org/portfolio/developerWorks/efficientPHP/wa-effphp/wa-effphp-a4.pdf
答案 1 :(得分:6)
始终使用require
或require_once
,因为如果配置错误,您将收到E_COMPILE_ERROR
。
在效果方面,include
和require
功能相同。
require
本身只会与每个文件中包含的代码一样高效。