首页 > 解决方案 > _once 在文件操作中的真正含义是什么?

问题描述

我有一个让我很困惑的疑问,它是关于require_once. 我在 StackOverflow 上看到了一个关于它的问题,但我仍然不确定我是否理解......

我知道 require 和 include 之间的区别在于,使用 require 时,脚本会发出致命错误并停止执行,而 include 不会。但是有一点我一直在问自己,真正的含义_once,大多数人会说这样的话:PHP 会检查文件是否已经被包含,如果是,则不再包含(要求)它
脚本如何只需要一次?我不明白这个,因为在我看来PHP脚本不像我们的浏览器下载并保存在机器上的CSS,所以不需要再次下载,我认为每次执行PHP脚本时,它将再次完成它的工作,无法理解它已经被需要,就像浏览器理解我们已经下载了 CSS 文件一样。

的真正含义是_once什么?有人可以给我一个例子吗,因为我不太明白,我是初学者,我什至不知道我问的是不是一个正确的问题

如果可能的话演示一些代码,以便我最终理解

标签: php

解决方案


想象一下这个场景。很高兴能够include使用同一个文件,因为您可以多次使用它并获得不同的结果:

显示.php

echo $var;

索引.php

$var = 'Hello ';
include('display.php');

$var = 'World ';
include('display.php');

这输出:

你好世界

但是,有时这会导致问题。这可能是不同文件中的包含,因此您需要include_once,但为了说明:

函数.php

function display($var) { echo $var; }

索引.php

include('functions.php');
display('Hello ');

  //more code

include('functions.php');
display('World ');

产生一个致命错误:

致命错误:无法在第 6 行的 index.php 中重新声明 display()(之前在 index.php:1 中声明)

因此,如果您有数百个文件,并且根据某些逻辑/程序流程包含其他文件,但某些文件只能包含一次(如上所示),那么这就是用例。


推荐阅读