如果之前执行的其他php文件已经包含php文件,我是否还应该编写php文件所需的includes?
例如,假设我有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_onex/include_one('fod.php'),还是不写?
谢谢。
理想情况下,您将知道文件包含在哪里,基于框架,甚至只是简单的文件结构。
仅仅在这里和那里包含文件"以防忘记"是非常糟糕的编码实践。你在哪里划线?在header.php中设置元标记,但也在index.php中设置,以防它在headerphp中不起作用?
您可以使用require_once(),它将在出现错误时停止(而include_once将继续执行剩余的脚本),例如:
PHP致命错误:require_once():无法打开所需的"food.PHP"
虽然PHP应该遵守并只包含"一次",但它可能会导致重新包含文件、错误/警告等问题,所以只要正确地构建文件,并在需要时将文件包含在文件中(通常都在需要它们的文件的顶部)
如果我理解正确的话,你只需要parent.php先包含food.php,然后包含child.php,因此parent.php和child.php都可以访问food.php中的任何内容。
希望能有所帮助。
在您的示例中,child.php
不需要包括food.php
。
最好单独包含这些文件。如果由于某种原因,food.php
没有包含在parent.php
中,那么child.php
中的代码将无法工作。
为了防止这种情况,您可以在这两个文件中加载food.php
,因此,如果其中一个文件失败,另一个文件将顺利工作。
重命名文件会使其更加清晰。
functions.php:
//some code
file1.php:
require_once('functions.php');
//some code
file2.php:
require_once('functions.php');
//some code