1

如果之前执行的其他 php 文件已经预先包含了 php 文件所需的包含,我还应该编写它们吗?

例如,假设我有 3 个 php 文件:parent.php、child.php 和 food.php。

parent.php 和 child.php 需要位于 food.php 中的函数。parent.php 首先包含 food.php,然后是 child.php。这意味着 child.php 也会为其加载 food.php。

所以对于 child.php,我还是应该写 require_once/include_once('food.php'),还是不写?

谢谢。

4

3 回答 3

0

在您的示例中,child.php不需要包含food.php.

于 2013-08-06T01:23:10.283 回答
0

单独包含文件是个好主意。如果由于某种原因food.php未包含在 中parent.php,则您的代码child.php将无法正常工作。

为了防止这种情况,您可以加载food.php这两个文件,因此如果一个文件失败,另一个文件将顺利运行。

重命名文件将使其更清晰。

函数.php:

//some code

文件1.php:

require_once('functions.php');
//some code

文件2.php:

require_once('functions.php');
//some code
于 2013-08-06T01:25:59.243 回答
0

理想情况下,您会知道文件包含在哪里,基于框架甚至是简单的文件结构。

只是在这里和那里包含文件“以防万一你忘记了”是非常糟糕的编码实践。你在哪里画线?在 header.php 中设置元标记,然后在 index.php 中设置,以防它在 header.php 中不起作用?

您可以改用 require_once() ,这将在出错时停止(而 include_once 将继续执行剩余的脚本) - 例如:

PHP 致命错误:require_once():无法打开所需的“food.php”

虽然 PHP 应该遵守并且只包含“一次”,但它可能会导致重新包含文件的问题、错误/警告等,因此只需正确构建文件并在需要时将文件包含在文件中(通常都在文件的顶部)需要它们的文件)

如果我理解正确,您只需要 parent.php 首先包含 food.php,然后是 child.php,因此 parent.php 和 child.php 都可以访问 food.php 中的任何内容。

希望有帮助。

于 2013-08-06T02:06:54.487 回答