为什么php中的require_once在防止代码重复方面不起作用?

wnavrhmk  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(128)
<?php require_once 'includes/header.php';?>
<?php require 'includes/header.php';?>

字符串
关键字“require_once”不应该阻止网页包含两次标题吗?相对文件路径应该没有问题,因为可以找到header.php并相应地显示导航列表。我试过放括号,但它也不起作用。
下面是代码的结果


的数据

s8vozzvw

s8vozzvw1#

require_once运行文件 * 如果它还没有运行 *。
require * 始终 * 运行文件。
你遇到了一个奇怪的情况,你的行的顺序很重要。如果你这样做:

<?php require_once 'includes/header.php';?>
<?php require 'includes/header.php';?>

字符串
遇到第一行,但是header.php还没有运行,所以它会运行。然后遇到第二行,header.php总是运行,现在是第二次。
如果更改行的顺序:

<?php require 'includes/header.php';?>
<?php require_once 'includes/header.php';?>


会遇到第一行,并运行header.php。然后会遇到第二行,但header.php已经运行过了,所以它会被跳过。
通常情况下,您只需在任何地方使用require_once,然后就不必担心顺序了:

<?php require_once 'includes/header.php';?>
<?php require_once 'includes/header.php';?>

相关问题