如果之前执行过的其他php文件已经包含了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'),还是留下来?
感谢。
答案 0 :(得分:0)
在您的示例中,child.php
不需要包含food.php
。
答案 1 :(得分:0)
单独包含文件是个好主意。如果出于某种原因food.php
未将parent.php
包含在child.php
中,则food.php
中的代码将无效。
为防止这种情况发生,您可以在两个文件中加载//some code
,因此如果一个文件失败,另一个文件将顺利运行。
重命名文件会使其更清晰。
<强>的functions.php:强>
require_once('functions.php');
//some code
<强> file1.php:强>
require_once('functions.php');
//some code
<强> file2.php:强>
{{1}}
答案 2 :(得分: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中的任何内容。
希望有所帮助。