PHP 语法:引入 PHP 脚本 include_once 3 个改进

问题

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

回答

有两种方法,例如:include_oncerequire_once

说明

本文主要介绍 include_once 方法。

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

语法

include_once '文件名';

示例

例 1 —— 引入脚本失败

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

<html>

    <body>

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

        <?php 

        include_once 'fail.php';

        ?>

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

    </body>

</html>

运行结果:

这是第一个句子。

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

Warning: include_once(): Failed opening 'fail.php' for inclusion (include_path='.;C:\php\pear') in F:\index.php on line 7

这是第三个句子。

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

例 2 —— 正常引入

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

<?php

echo "<p>这是一个被引入的句子。</p>";

?>

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

<html>

    <body>

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

        <?php 

        include_once 'words.php';

        ?>

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

        <?php 

        include_once 'words.php';

        ?>

    </body>

</html>

运行结果:

这是第一个句子。

这是一个被引入的句子。

这是第三个句子。

从运行结果可以看出,我们在第二次引入 words.php 脚本无效,所以 include_once 可以帮助我们不重复引入同一个 PHP 脚本。

提示

当我们需要引入的是关键文件(例如:密钥文件)的时候,不可以使用 include_once,不然可能会造成不可挽回的损失。

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

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