PHP 语法:引入 PHP 脚本 require_once 2 个改进

问题

当我们在一个 PHP 脚本中引入另一个 PHP 脚本时,我们希望避免因失误而导致的重复引入,该怎么做呢?

回答

有两种方法,例如:require_onceinclude_once

说明

本文主要介绍 require_once 方法。

通过 require_once 语句,可以将一个 PHP 脚本的内容引入另一个 PHP 脚本。如果在 require_once 引入某脚本之前已经引入名字相同的脚本,则 require_once 不会执行该引入操作。当 require_once 语句发生错误的时候,PHP 会生成致命错误(E_COMPILE_ERROR)并终止脚本,即不会再继续执行后面的代码,如果您学习过 require 语句,您应该会发现两者在这方面的表现是相同的。

语法

require_once '文件名';

示例

例 1 —— 引入文件失败

在本例中,我们尝试引入一个不存在的 PHP 脚本,看看 require_once 会怎么处理。

<html>

    <body>

        <p>这是第一个句子。</p>

        <?php 

        require_once 'fail.php';

        ?>

        <p>这是第三个句子。</p>

    </body>

</html>

运行结果:

这是第一个句子。

Warning: require_once(fail.php): failed to open stream: No such file or directory in F:\index.php on line 7

Fatal error: require_once(): Failed opening required 'fail.php' (include_path='.;C:\php\pear') in F:\index.php on line 7

从运行结果可以看出,当 require_once 引入脚本失败的时候,不会接着执行后面的代码。

例 2 —— 正常引入

假设我们有一个名为 words.php 的标准脚本:

<?php

echo "<p>这是第二个句子。</p>";

?>

然后我们尝试在同一文件夹下的另一个 PHP 脚本中通过 require_once 语句引入这个 words.php 脚本:

<html>

    <body>

        <p>这是第一个句子。</p>

        <?php

        require_once 'words.php';

        ?>

        <p>这是第三个句子。</p>

        <?php

        require_once 'words.php';

        ?>

    </body>

</html>

运行结果:

这是第一个句子。

这是第二个句子。

这是第三个句子。

从运行结果可以看出,我们在第二次引入 words.php 脚本无效,所以 require_once 可以帮助我们避免因失误而导致重复引入同一 PHP 脚本。

php
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!