【问题标题】:Why use include_once when i can just simply type it once当我只需键入一次时,为什么还要使用 include_once
【发布时间】:2015-11-26 13:17:33
【问题描述】:

include_once 是不言自明的,我完全理解它是如何工作的。我知道它只会包括 ONE TIME。伟大的 !!! :)

我的问题是......如果我只想在我的页面上包含一次,为什么我必须写 include_once,而我最初只能简单地写一次包含。我敢肯定它会出现两次是有充分理由的,但我发现的唯一例子是有人输入相同的内容包括两次,我不明白你为什么要经历两次输入的麻烦,但包括单词“_once”,所以它只运行一次。

谢谢。

【问题讨论】:

  • 正如你所说,它确保文件只包含一次而不是两次,因此它不会尝试声明一个类 2 次左右
  • 在您使用的更复杂的系统中,例如。模块和第 3 方解决方案,您无法确定要包含的文件尚未包含在其他模块或主系统中...

标签: php include include-once


【解决方案1】:

假设您包含一个声明变量的文件。您包含该文件是因为它是您需要使用的库的一部分。

现在假设您包含另一个文件,因为您需要另一个库。但是,如果新文件包含您之前包含的相同文件,因为第二个库需要第一个库,该怎么办?

那么您将包含两次第一个文件,而您甚至都不知道。

这就是为什么。

顺便说一句:require_once 比 include_once 好。

【讨论】:

  • 好的,非常感谢。如果我觉得需要出现的内容非常重要,那么需要更多,否则我不能让用户继续看到页面的其余部分,因为它不会达到它的目的。我猜。
【解决方案2】:

文件可以调用两次包含的一个示例可能是受保护的页面或父页面(仪表板等),其中可能包含多个可能已经包含此代码的“子”页面。

示例:

content1.php

<?php
  include_once 'require_login.php';      //Protect content1.php
?>
<html>...

content2.php

<?php
  include_once 'require_login.php';      //Protect content2.php
?>
<html>...

现在 - 父“仪表板” - 我们称它为 view_dashboard.php 可能包含多个文件 - 所有这些文件都已经具有相同 require_login.php 保护脚本的副本。

<?php
   include_once 'require_login.php' //Protect the dashboard.
   include 'content1.php'           //No conflict - thanks to include_once
   include 'content2.php'           //No conflict - thanks to include_once
   //...

include_once 比 include 慢,因此请谨慎使用。

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 2011-12-15
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    相关资源
    最近更新 更多