我知道include_once
和require_once
只允许被调用的脚本运行一次。我的问题是:如果我不使用_once
,它会一直运行多次吗?默认情况下它会运行多次吗?我搜索了答案,但没有找到答案。
答案 0 :(得分:7)
include
都会运行一次。使用include_once
的重点是你可以做到
include "myfile.php"; // Include file one time
include "myfile.php"; // Include file again
这是完全合法的,在某些情况下你会想要这样做。
问题在于,如果您在此文件中定义一个函数,php会抱怨您无法多次定义该方法(因为该名称已被占用)。
include_once
确保同一个文件不会包含多次,所以如果您这样做:
include_once "myfile.php"; // Include the file one time
include_once "myfile.php"; // This is ignored
...只执行一个包含。
答案 1 :(得分:2)
并不是它多次运行,但是如果你有一个文件包含多个不同的东西,其中一个包括其中一个已包含的东西,你会多次包含它们,这可能是坏的。
答案 2 :(得分:2)
如果您不包含_once
,则会在您的脚本中调用它。没有默认的运行次数(不知何故,我觉得你认为它可能只运行几次,但没有) - 一个包括=一次运行。
答案 3 :(得分:0)
是的,如果您使用include
而不是include_once
(或require
而不是require_once
),那么如果您要求,则会包含指定的文件并再次执行第二次使用同一个文件。
这对于引用包含页面中此时需要执行的公共代码非常有用,而不是包含文件的常规原因,即声明函数和类。前者是一种古老的编程技术。