【问题标题】:include external php files包含外部 php 文件
【发布时间】:2023-03-16 00:19:01
【问题描述】:

我正在使用一些 php 代码,例如所有页面通用的数据库连接,所以我创建了一个包含 php 代码的 php 文件,然后我将这个文件包含在我的 HTML 代码中, 所以我想知道包含 php 文件的更好方法,包含函数的更好替代方法。 我的示例代码在这里

<?php
    include "check_timeout.php";
    include "connect_to_db.php";
?>
<html>
<head>
    <title>Example</title>
</head>
<body>
<?php
    mysql_close($con);
?>
</body>
</html>

提前谢谢你。

【问题讨论】:

  • 如果文件类型与您指定的一样重要,我总是使用 require_once。虽然,我必须说这是我的偏好。否则,视情况而定。

标签: php html


【解决方案1】:

您有 4 个选项可供选择。

包括'yourfile.php';
include_once 'yourfile.php';
需要'yourfile.php';
require_once 'yourfile.php';

当然你也可以用"代替'。

除了细微的差别之外,他们都会做同样的事情。

如果 yourfile.php 不存在,include 将忽略这一事实,您的 php 页面将继续前进 - 不会出现任何致命错误。

另一方面,require 会产生致命错误。

如果您知道该文件在那里,那么您选择哪个文件没有区别。

至于带有 _once 后缀的选项,嗯,与没有 _once 后缀的选项相比,它们往往要慢一些。因为当您使用 include_once 或 require_once 时,PHP 将做一些额外的工作以确保这些文件真正包含一次 - 如果您不小心编码并且许多文件使用了许多包含并且您可能会遇到可能的双重包含情况,则可以保护您免受可能的双重包含情况同一文件被包含两次的情况。好吧,_once 选项会阻止这种情况。这种检查会带来一些处理成本。

我还注意到您使用 " 而不是 ' 作为文件分隔符。没有理由选择 " 而不是 ' 除非您将引用文件中的变量名称,例如

$thefile = '你的文件.php; 包括“$thefile”;

那么从这 4 个中挑选哪些? 这一切都取决于,如果你认为你确实需要强制 _once 问题,那么你选择 include_once 或 require_once,如果你认为不需要,那么你选择 include 或 require。至于包含与要求,这一切都归结为如果您的文件由于某种原因无法访问,您希望您的 PHP 脚本死掉还是继续。

如果您对某些速度测试感到好奇,请查看以下链接。 http://php.net/manual/en/function.require-once.php

我在主题上也发现了这一点。

了解require和include的区别根据 PHP 手册,require 和 include “在各方面都是相同的,除了 他们如何处理故障。”但是,进一步阅读手册 表明另一个影响性能的非常微妙的差异。什么时候 您使用 require 关键字,命名文件被读入、解析和 在编译使用 require 关键字的文件时编译。当一个 包含 include 关键字的文件被编译,命名的文件不是 最初读入、解析和编译。只有当那行代码 执行的是文件读取、解析和编译。仅使用 如果您知道您将始终需要该命名文件,则需要关键字 当前脚本。如果您可能使用它的功能,请使用 include 反而。 PHP 打开所有需要的文件,但只打开 根据需要包含文件。此外,您还应该考虑使用 require_once 和 include_once 代替 require 和 include 分别。在实践中,您更有可能真正想要 require_once 和 include_once 提供的功能 函数,尽管使用 require 和 分别包含关键字。请参阅以下 PHP 手册页 更多信息:包括,include_once

来源: http://www.stevengould.org/portfolio/developerWorks/efficientPHP/wa-effphp/wa-effphp-a4.pdf

【讨论】:

    【解决方案2】:

    始终使用requirerequire_once,因为如果配置错误,您将收到E_COMPILE_ERROR

    在性能方面,includerequire 在功能上将是相同的。

    require 本身只会与每个文件中包含的代码一样高效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多